From 40640badad3ce3aa3ecb68ec7f933dda48ad37da Mon Sep 17 00:00:00 2001 From: UncleCode Date: Sun, 8 Jun 2025 22:02:12 +0800 Subject: [PATCH] feat: add Script Builder to Chrome Extension and reorganize LLM context files This commit introduces significant enhancements to the Crawl4AI ecosystem: Chrome Extension - Script Builder (Alpha): - Add recording functionality to capture user interactions (clicks, typing, scrolling) - Implement smart event grouping for cleaner script generation - Support export to both JavaScript and C4A script formats - Add timeline view for visualizing and editing recorded actions - Include wait commands (time-based and element-based) - Add saved flows functionality for reusing automation scripts - Update UI with consistent dark terminal theme (Dank Mono font, green/pink accents) - Release new extension versions: v1.1.0, v1.2.0, v1.2.1 LLM Context Builder Improvements: - Reorganize context files from llmtxt/ to llm.txt/ with better structure - Separate diagram templates from text content (diagrams/ and txt/ subdirectories) - Add comprehensive context files for all major Crawl4AI components - Improve file naming convention for better discoverability Documentation Updates: - Update apps index page to match main documentation theme - Standardize color scheme: "Available" tags use primary color (#50ffff) - Change "Coming Soon" tags to dark gray for better visual hierarchy - Add interactive two-column layout for extension landing page - Include code examples for both Schema Builder and Script Builder features Technical Improvements: - Enhance event capture mechanism with better element selection - Add support for contenteditable elements and complex form interactions - Implement proper scroll event handling for both window and element scrolling - Add meta key support for keyboard shortcuts - Improve selector generation for more reliable element targeting The Script Builder is released as Alpha, acknowledging potential bugs while providing early access to this powerful automation recording feature. --- .claude/settings.local.json | 10 +- .../apps/crawl4ai-assistant/assistant.css | 496 +- .../background/service-worker.js | 2 +- .../crawl4ai-assistant/content/content.js | 2654 +++ .../crawl4ai-assistant/content/overlay.css | 1157 +- .../crawl4ai-assistant-v1.1.0.zip | Bin 0 -> 137065 bytes .../crawl4ai-assistant-v1.2.0.zip | Bin 0 -> 138186 bytes .../crawl4ai-assistant-v1.2.1.zip | Bin 0 -> 138534 bytes docs/md_v2/apps/crawl4ai-assistant/index.html | 354 +- .../apps/crawl4ai-assistant/manifest.json | 4 +- .../apps/crawl4ai-assistant/popup/popup.html | 6 +- .../apps/crawl4ai-assistant/popup/popup.js | 17 + docs/md_v2/apps/index.md | 58 +- docs/md_v2/apps/llmtxt/index.html | 37 +- docs/md_v2/apps/llmtxt/llmtxt.css | 56 + docs/md_v2/apps/llmtxt/llmtxt.js | 385 +- docs/md_v2/assets/llm.txt/diagrams/cli.txt | 425 + .../llm.txt/diagrams/config_objects.txt | 1421 ++ .../deep_crawl_advanced_filters_scorers.txt | 401 + .../assets/llm.txt/diagrams/deep_crawling.txt | 428 + docs/md_v2/assets/llm.txt/diagrams/docker.txt | 603 + .../assets/llm.txt/diagrams/extraction.txt | 478 + .../diagrams/http_based_crawler_strategy.txt | 472 + .../assets/llm.txt/diagrams/installation.txt | 368 + .../assets/llm.txt/diagrams/llms-diagram.txt | 5912 ++++++ .../llm.txt/diagrams/multi_urls_crawling.txt | 392 + .../llm.txt/diagrams/simple_crawling.txt | 411 + .../assets/llm.txt/diagrams/url_seeder.txt | 441 + docs/md_v2/assets/llm.txt/txt/cli.txt | 295 + .../assets/llm.txt/txt/config_objects.txt | 1171 ++ .../deep_crawl_advanced_filters_scorers.txt | 446 + .../assets/llm.txt/txt/deep_crawling.txt | 348 + docs/md_v2/assets/llm.txt/txt/docker.txt | 826 + docs/md_v2/assets/llm.txt/txt/extraction.txt | 788 + .../txt/http_based_crawler_strategy.txt | 388 + .../md_v2/assets/llm.txt/txt/installation.txt | 231 + docs/md_v2/assets/llm.txt/txt/llms-full.txt | 5929 ++++++ .../llm.txt/txt/multi_urls_crawling.txt | 339 + .../assets/llm.txt/txt/simple_crawling.txt | 365 + docs/md_v2/assets/llm.txt/txt/url_seeder.txt | 655 + .../crawl4ai_all_examples_content.llm.txt | 13263 ------------ .../crawl4ai_all_memory_content.llm.txt | 16658 ---------------- .../crawl4ai_all_reasoning_content.llm.txt | 7708 ------- .../crawl4ai_config_objects.llm.full.txt | 7615 ------- ...ai_config_objects_examples_content.llm.txt | 5334 ----- ...l4ai_config_objects_memory_content.llm.txt | 556 - ...i_config_objects_reasoning_content.llm.txt | 1707 -- .../assets/llmtxt/crawl4ai_core.llm.full.txt | 2803 --- .../crawl4ai_core_examples_content.llm.txt | 356 - .../crawl4ai_core_memory_content.llm.txt | 890 - .../crawl4ai_core_reasoning_content.llm.txt | 1539 -- .../crawl4ai_deep_crawling.llm.full.txt | 5460 ----- ...4ai_deep_crawling_examples_content.llm.txt | 3181 --- ...wl4ai_deep_crawling_memory_content.llm.txt | 813 - ...ai_deep_crawling_reasoning_content.llm.txt | 1448 -- .../llmtxt/crawl4ai_deployment.llm.full.txt | 3837 ---- ...awl4ai_deployment_examples_content.llm.txt | 2186 -- ...crawl4ai_deployment_memory_content.llm.txt | 537 - ...wl4ai_deployment_reasoning_content.llm.txt | 1096 - .../llmtxt/crawl4ai_extraction.llm.full.txt | 5672 ------ ...awl4ai_extraction_examples_content.llm.txt | 3464 ---- ...crawl4ai_extraction_memory_content.llm.txt | 494 - ...wl4ai_extraction_reasoning_content.llm.txt | 1696 -- .../llmtxt/crawl4ai_markdown.llm.full.txt | 1824 -- ...crawl4ai_markdown_examples_content.llm.txt | 818 - .../crawl4ai_markdown_memory_content.llm.txt | 228 - ...rawl4ai_markdown_reasoning_content.llm.txt | 760 - .../assets/llmtxt/crawl4ai_vibe.llm.full.txt | 4374 ---- .../crawl4ai_vibe_examples_content.llm.txt | 3525 ---- .../crawl4ai_vibe_memory_content.llm.txt | 188 - .../crawl4ai_vibe_reasoning_content.llm.txt | 643 - docs/md_v2/assets/test/toc.js | 144 + 72 files changed, 28600 insertions(+), 100986 deletions(-) create mode 100644 docs/md_v2/apps/crawl4ai-assistant/crawl4ai-assistant-v1.1.0.zip create mode 100644 docs/md_v2/apps/crawl4ai-assistant/crawl4ai-assistant-v1.2.0.zip create mode 100644 docs/md_v2/apps/crawl4ai-assistant/crawl4ai-assistant-v1.2.1.zip create mode 100644 docs/md_v2/assets/llm.txt/diagrams/cli.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/config_objects.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/deep_crawl_advanced_filters_scorers.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/deep_crawling.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/docker.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/extraction.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/http_based_crawler_strategy.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/installation.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/llms-diagram.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/multi_urls_crawling.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/simple_crawling.txt create mode 100644 docs/md_v2/assets/llm.txt/diagrams/url_seeder.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/cli.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/config_objects.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/deep_crawl_advanced_filters_scorers.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/deep_crawling.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/docker.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/extraction.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/http_based_crawler_strategy.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/installation.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/llms-full.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/multi_urls_crawling.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/simple_crawling.txt create mode 100644 docs/md_v2/assets/llm.txt/txt/url_seeder.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_all_examples_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_all_memory_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_all_reasoning_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_config_objects.llm.full.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_config_objects_examples_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_config_objects_memory_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_config_objects_reasoning_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_core.llm.full.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_core_examples_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_core_memory_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_core_reasoning_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_deep_crawling.llm.full.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_deep_crawling_examples_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_deep_crawling_memory_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_deep_crawling_reasoning_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_deployment.llm.full.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_deployment_examples_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_deployment_memory_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_deployment_reasoning_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_extraction.llm.full.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_extraction_examples_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_extraction_memory_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_extraction_reasoning_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_markdown.llm.full.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_markdown_examples_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_markdown_memory_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_markdown_reasoning_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_vibe.llm.full.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_vibe_examples_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_vibe_memory_content.llm.txt delete mode 100644 docs/md_v2/assets/llmtxt/crawl4ai_vibe_reasoning_content.llm.txt create mode 100644 docs/md_v2/assets/test/toc.js diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 250b8d7d..062eb7df 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -8,7 +8,15 @@ "Bash(mkdir:*)", "Bash(cp:*)", "Bash(rm:*)", - "Bash(true)" + "Bash(true)", + "Bash(./package-extension.sh:*)", + "Bash(find:*)", + "Bash(chmod:*)", + "Bash(rg:*)", + "Bash(/Users/unclecode/.npm-global/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -A 5 -B 5 \"Script Builder\" docs/md_v2/apps/crawl4ai-assistant/)", + "Bash(/Users/unclecode/.npm-global/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -A 30 \"generateCode\\(events, format\\)\" docs/md_v2/apps/crawl4ai-assistant/content/content.js)", + "Bash(/Users/unclecode/.npm-global/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg \" diff --git a/docs/md_v2/apps/llmtxt/index.html b/docs/md_v2/apps/llmtxt/index.html index e5fee16e..6dbd0d00 100644 --- a/docs/md_v2/apps/llmtxt/index.html +++ b/docs/md_v2/apps/llmtxt/index.html @@ -71,33 +71,6 @@
-
-

Quick Presets

-
- - - -
-
-

Select Components & Context Types

@@ -111,9 +84,9 @@ Component - Memory - Reasoning - Examples + Memory
Full Content + Reasoning
Diagrams + Examples
Code @@ -124,6 +97,10 @@
+
+ Estimated Tokens: + 0 +
diff --git a/docs/md_v2/apps/llmtxt/llmtxt.css b/docs/md_v2/apps/llmtxt/llmtxt.css index fe0eb028..9a3f18fd 100644 --- a/docs/md_v2/apps/llmtxt/llmtxt.css +++ b/docs/md_v2/apps/llmtxt/llmtxt.css @@ -363,6 +363,15 @@ body { font-weight: bold; } +.header-subtitle { + font-size: 10px; + color: var(--tertiary-color); + text-transform: none; + font-weight: normal; + display: block; + margin-top: 2px; +} + .component-selection-table th.clickable-header { cursor: pointer; user-select: none; @@ -374,6 +383,16 @@ body { color: var(--background-color); } +.component-selection-table th.clickable-header[data-type="examples"] { + cursor: default; + opacity: 0.5; +} + +.component-selection-table th.clickable-header[data-type="examples"]:hover { + background-color: var(--hover-bg); + color: var(--primary-color); +} + .component-selection-table th:nth-child(3), .component-selection-table th:nth-child(4), .component-selection-table th:nth-child(5) { @@ -400,12 +419,25 @@ body { font-weight: bold; } +/* Token display in table cells */ +.token-info { + display: block; + font-size: 11px; + color: var(--tertiary-color); + margin-top: 2px; +} + .component-selection-table input[type="checkbox"] { cursor: pointer; width: 16px; height: 16px; } +.component-selection-table input[type="checkbox"]:disabled { + cursor: not-allowed; + opacity: 0.3; +} + /* Disabled row state */ .component-selection-table tr.disabled td:not(:first-child) { opacity: 0.5; @@ -418,6 +450,30 @@ body { margin: 40px 0; } +/* Token Summary */ +.token-summary { + margin-bottom: 20px; + font-size: 16px; +} + +.token-label { + color: var(--tertiary-color); + margin-right: 10px; +} + +.token-count { + color: var(--primary-color); + font-weight: bold; + font-size: 20px; +} + +.token-count::after { + content: " est."; + font-size: 12px; + color: var(--tertiary-color); + margin-left: 4px; +} + .download-btn { background-color: var(--primary-dimmed); color: var(--background-color); diff --git a/docs/md_v2/apps/llmtxt/llmtxt.js b/docs/md_v2/apps/llmtxt/llmtxt.js index f770f548..f90bf4e6 100644 --- a/docs/md_v2/apps/llmtxt/llmtxt.js +++ b/docs/md_v2/apps/llmtxt/llmtxt.js @@ -1,48 +1,61 @@ // Crawl4AI LLM Context Builder JavaScript -// Component definitions +// Component definitions - order matters const components = [ { - id: 'all', - name: 'All Components', - description: 'All components with all context types', - special: true + id: 'installation', + name: 'Installation', + description: 'Setup and installation options' }, { - id: 'core', - name: 'Core Functionality', - description: 'Basic crawling and scraping features' + id: 'simple_crawling', + name: 'Simple Crawling', + description: 'Basic web crawling operations' }, { id: 'config_objects', name: 'Configuration Objects', description: 'Browser and crawler configuration' }, - { - id: 'deep_crawling', - name: 'Deep Crawling', - description: 'Multi-page crawling strategies' - }, - { - id: 'deployment', - name: 'Deployment', - description: 'Installation and Docker setup' - }, { id: 'extraction', name: 'Data Extraction', description: 'Structured data extraction strategies' }, { - id: 'markdown', - name: 'Markdown Generation', - description: 'Content-to-markdown conversion' + id: 'multi_urls_crawling', + name: 'Multi URLs Crawling', + description: 'Crawling multiple URLs efficiently' }, { - id: 'vibe', - name: 'Vibe Coding', - description: 'General-purpose AI context', - special: false + id: 'deep_crawling', + name: 'Deep Crawling', + description: 'Multi-page crawling strategies' + }, + { + id: 'docker', + name: 'Docker', + description: 'Docker deployment and configuration' + }, + { + id: 'cli', + name: 'CLI', + description: 'Command-line interface usage' + }, + { + id: 'http_based_crawler_strategy', + name: 'HTTP-based Crawler', + description: 'HTTP crawler strategy implementation' + }, + { + id: 'url_seeder', + name: 'URL Seeder', + description: 'URL seeding and discovery' + }, + { + id: 'deep_crawl_advanced_filters_scorers', + name: 'Advanced Filters & Scorers', + description: 'Deep crawl filtering and scoring' } ]; @@ -51,45 +64,47 @@ const contextTypes = ['memory', 'reasoning', 'examples']; // State management const state = { - preset: 'custom', selectedComponents: new Set(), - selectedContextTypes: new Map() + selectedContextTypes: new Map(), + tokenCounts: new Map() // Store token counts for each file }; // Initialize the application document.addEventListener('DOMContentLoaded', () => { - setupPresetHandlers(); renderComponents(); renderReferenceTable(); setupActionHandlers(); setupColumnHeaderHandlers(); - // Initialize only core component as selected with all context types - state.selectedComponents.add('core'); - state.selectedContextTypes.set('core', new Set(contextTypes)); + // Initialize first component as selected with available context types + const firstComponent = components[0]; + state.selectedComponents.add(firstComponent.id); + state.selectedContextTypes.set(firstComponent.id, new Set(['memory', 'reasoning'])); updateComponentUI(); }); -// Setup preset radio button handlers -function setupPresetHandlers() { - const presetRadios = document.querySelectorAll('input[name="preset"]'); - presetRadios.forEach(radio => { - radio.addEventListener('change', (e) => { - state.preset = e.target.value; - updatePresetSelection(); - }); - }); +// Helper function to count tokens (words × 2.5) +function estimateTokens(text) { + if (!text) return 0; + const words = text.trim().split(/\s+/).length; + return Math.round(words * 2.5); } -// Update UI based on preset selection -function updatePresetSelection() { - const componentSelector = document.getElementById('component-selector'); +// Update total token count display +function updateTotalTokenCount() { + let totalTokens = 0; - if (state.preset === 'custom') { - componentSelector.style.display = 'block'; - } else { - componentSelector.style.display = 'none'; - } + state.selectedComponents.forEach(compId => { + const types = state.selectedContextTypes.get(compId); + if (types) { + types.forEach(type => { + const key = `${compId}-${type}`; + totalTokens += state.tokenCounts.get(key) || 0; + }); + } + }); + + document.getElementById('total-tokens').textContent = totalTokens.toLocaleString(); } // Render component selection table @@ -97,10 +112,13 @@ function renderComponents() { const tbody = document.getElementById('components-tbody'); tbody.innerHTML = ''; - components.filter(c => !c.special).forEach(component => { + components.forEach(component => { const row = createComponentRow(component); tbody.appendChild(row); }); + + // Fetch token counts for all files + fetchAllTokenCounts(); } // Create a component table row @@ -124,9 +142,17 @@ function createComponentRow(component) { // Context type cells contextTypes.forEach(type => { const td = document.createElement('td'); + const key = `${component.id}-${type}`; + const tokenCount = state.tokenCounts.get(key) || 0; + const isDisabled = type === 'examples' ? 'disabled' : ''; + td.innerHTML = ` + data-component="${component.id}" data-type="${type}" + ${isDisabled}> + + ${tokenCount > 0 ? `${tokenCount.toLocaleString()} tokens` : ''} + `; tr.appendChild(td); }); @@ -140,9 +166,11 @@ function createComponentRow(component) { // Add event listeners for context type checkboxes contextTypes.forEach(type => { const typeCheckbox = tr.querySelector(`#check-${component.id}-${type}`); - typeCheckbox.addEventListener('change', (e) => { - handleContextTypeToggle(component.id, type, e.target.checked); - }); + if (!typeCheckbox.disabled) { + typeCheckbox.addEventListener('change', (e) => { + handleContextTypeToggle(component.id, type, e.target.checked); + }); + } }); return tr; @@ -152,12 +180,12 @@ function createComponentRow(component) { function handleComponentToggle(componentId, checked) { if (checked) { state.selectedComponents.add(componentId); - // Select all context types when component is selected + // Select only available context types when component is selected if (!state.selectedContextTypes.has(componentId)) { - state.selectedContextTypes.set(componentId, new Set(contextTypes)); + state.selectedContextTypes.set(componentId, new Set(['memory', 'reasoning'])); } else { - // If component was already partially selected, select all - state.selectedContextTypes.set(componentId, new Set(contextTypes)); + // If component was already partially selected, select all available + state.selectedContextTypes.set(componentId, new Set(['memory', 'reasoning'])); } } else { state.selectedComponents.delete(componentId); @@ -195,8 +223,10 @@ function handleContextTypeToggle(componentId, type, checked) { // Update UI to reflect current state function updateComponentUI() { - components.filter(c => !c.special).forEach(component => { + components.forEach(component => { const row = document.getElementById(`component-${component.id}`); + if (!row) return; + const mainCheckbox = row.querySelector(`#check-${component.id}`); const hasSelection = state.selectedComponents.has(component.id); const selectedTypes = state.selectedContextTypes.get(component.id) || new Set(); @@ -213,15 +243,93 @@ function updateComponentUI() { typeCheckbox.checked = selectedTypes.has(type); }); }); + + updateTotalTokenCount(); +} + +// Fetch token counts for all files +async function fetchAllTokenCounts() { + const promises = []; + + components.forEach(component => { + contextTypes.forEach(type => { + promises.push(fetchTokenCount(component.id, type)); + }); + }); + + await Promise.all(promises); + updateComponentUI(); + renderReferenceTable(); // Update reference table with token counts +} + +// Fetch token count for a specific file +async function fetchTokenCount(componentId, type) { + const key = `${componentId}-${type}`; + + try { + const fileName = getFileName(componentId, type); + const baseUrl = getBaseUrl(type); + const response = await fetch(baseUrl + fileName); + + if (response.ok) { + const content = await response.text(); + const tokens = estimateTokens(content); + state.tokenCounts.set(key, tokens); + + // Update UI + const tokenSpan = document.getElementById(`tokens-${componentId}-${type}`); + if (tokenSpan) { + tokenSpan.textContent = `${tokens.toLocaleString()} tokens`; + } + } else if (type === 'examples') { + // Examples might not exist yet + state.tokenCounts.set(key, 0); + const tokenSpan = document.getElementById(`tokens-${componentId}-${type}`); + if (tokenSpan) { + tokenSpan.textContent = ''; + } + } + } catch (error) { + console.warn(`Failed to fetch token count for ${componentId}-${type}`); + if (type === 'examples') { + const tokenSpan = document.getElementById(`tokens-${componentId}-${type}`); + if (tokenSpan) { + tokenSpan.textContent = ''; + } + } + } +} + +// Get file name based on component and type +function getFileName(componentId, type) { + // For new structure, all files are just [componentId].txt + return `${componentId}.txt`; +} + +// Get base URL based on context type +function getBaseUrl(type) { + // For MkDocs, we need to go up to the root level + const basePrefix = window.location.pathname.includes('/apps/') ? '../../' : '/'; + + switch(type) { + case 'memory': + return basePrefix + 'assets/llm.txt/txt/'; + case 'reasoning': + return basePrefix + 'assets/llm.txt/diagrams/'; + case 'examples': + return basePrefix + 'assets/llm.txt/examples/'; // Will return 404 for now + default: + return basePrefix + 'assets/llm.txt/txt/'; + } } // Setup action button handlers function setupActionHandlers() { // Select/Deselect all buttons document.getElementById('select-all').addEventListener('click', () => { - components.filter(c => !c.special).forEach(comp => { + components.forEach(comp => { state.selectedComponents.add(comp.id); - state.selectedContextTypes.set(comp.id, new Set(contextTypes)); + state.selectedContextTypes.set(comp.id, new Set(['memory', 'reasoning'])); }); updateComponentUI(); }); @@ -249,9 +357,12 @@ function setupColumnHeaderHandlers() { // Toggle all checkboxes in a column function toggleColumnSelection(type) { + // Don't toggle examples column + if (type === 'examples') return; + // Check if all are currently selected let allSelected = true; - components.filter(c => !c.special).forEach(comp => { + components.forEach(comp => { const types = state.selectedContextTypes.get(comp.id); if (!types || !types.has(type)) { allSelected = false; @@ -259,7 +370,7 @@ function toggleColumnSelection(type) { }); // Toggle all - components.filter(c => !c.special).forEach(comp => { + components.forEach(comp => { if (!state.selectedContextTypes.has(comp.id)) { state.selectedContextTypes.set(comp.id, new Set()); } @@ -314,46 +425,50 @@ async function handleDownload() { function getSelectedFiles() { const files = []; - if (state.preset === 'vibe') { - files.push('crawl4ai_vibe.llm.full.md'); - } else if (state.preset === 'all') { - // Use the dedicated aggregated files for all components - files.push('crawl4ai_all_memory_content.llm.md'); - files.push('crawl4ai_all_reasoning_content.llm.md'); - files.push('crawl4ai_all_examples_content.llm.md'); - } else { - // Custom selection - state.selectedComponents.forEach(compId => { - const types = state.selectedContextTypes.get(compId); - if (types) { - types.forEach(type => { - files.push(`crawl4ai_${compId}_${type}_content.llm.md`); + // Build list of selected files with their context info + state.selectedComponents.forEach(compId => { + const types = state.selectedContextTypes.get(compId); + if (types) { + types.forEach(type => { + files.push({ + componentId: compId, + type: type, + fileName: getFileName(compId, type), + baseUrl: getBaseUrl(type) }); - } - }); - } + }); + } + }); return files; } // Fetch multiple files -async function fetchFiles(fileNames) { - // Use /assets/llmtxt/ path with .txt extension - const baseUrl = '/assets/llmtxt/'; - const promises = fileNames.map(async (fileName) => { - // Convert .md to .txt for fetching - const txtFileName = fileName.replace('.md', '.txt'); +async function fetchFiles(fileInfos) { + const promises = fileInfos.map(async (fileInfo) => { try { - const response = await fetch(baseUrl + txtFileName); + const response = await fetch(fileInfo.baseUrl + fileInfo.fileName); if (!response.ok) { - console.warn(`Failed to fetch ${txtFileName} from ${baseUrl + txtFileName}`); - return { fileName, content: `` }; + if (fileInfo.type === 'examples') { + return { + fileInfo, + content: `\n\nExamples are currently being developed for this component.` + }; + } + console.warn(`Failed to fetch ${fileInfo.fileName} from ${fileInfo.baseUrl + fileInfo.fileName}`); + return { fileInfo, content: `` }; } const content = await response.text(); - return { fileName, content }; + return { fileInfo, content }; } catch (error) { - console.warn(`Error fetching ${txtFileName} from ${baseUrl + txtFileName}:`, error); - return { fileName, content: `` }; + if (fileInfo.type === 'examples') { + return { + fileInfo, + content: `\n\nExamples are currently being developed for this component.` + }; + } + console.warn(`Error fetching ${fileInfo.fileName}:`, error); + return { fileInfo, content: `` }; } }); @@ -362,20 +477,31 @@ async function fetchFiles(fileNames) { // Combine file contents with headers function combineContents(fileContents) { + // Calculate total tokens + let totalTokens = 0; + fileContents.forEach(({ content }) => { + totalTokens += estimateTokens(content); + }); + const header = `# Crawl4AI Custom LLM Context Generated on: ${new Date().toISOString()} Total files: ${fileContents.length} +Estimated tokens: ${totalTokens.toLocaleString()} --- `; - const sections = fileContents.map(({ fileName, content }) => { - const componentName = extractComponentName(fileName); - const contextType = extractContextType(fileName); + const sections = fileContents.map(({ fileInfo, content }) => { + const component = components.find(c => c.id === fileInfo.componentId); + const componentName = component ? component.name : fileInfo.componentId; + const contextType = getContextTypeName(fileInfo.type); + const tokens = estimateTokens(content); return `## ${componentName} - ${contextType} -Source: ${fileName} +Component ID: ${fileInfo.componentId} +Context Type: ${fileInfo.type} +Estimated tokens: ${tokens.toLocaleString()} ${content} @@ -387,25 +513,14 @@ ${content} return header + sections.join('\n'); } -// Extract component name from filename -function extractComponentName(fileName) { - // Pattern: crawl4ai_{component}_{type}_content.llm.md - const match = fileName.match(/crawl4ai_(.+?)_(memory|reasoning|examples|llm\.full)/); - if (match) { - const compId = match[1]; - const component = components.find(c => c.id === compId); - return component ? component.name : compId.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase()); +// Get display name for context type +function getContextTypeName(type) { + switch(type) { + case 'memory': return 'Full Content'; + case 'reasoning': return 'Diagrams & Workflows'; + case 'examples': return 'Code Examples'; + default: return type; } - return 'Unknown Component'; -} - -// Extract context type from filename -function extractContextType(fileName) { - if (fileName.includes('_memory_')) return 'Memory'; - if (fileName.includes('_reasoning_')) return 'Reasoning'; - if (fileName.includes('_examples_')) return 'Examples'; - if (fileName.includes('.llm.full')) return 'Complete Context'; - return 'Context'; } // Download file to user's computer @@ -426,33 +541,35 @@ function renderReferenceTable() { const tbody = document.getElementById('reference-table-body'); tbody.innerHTML = ''; - // Since vibe is no longer special, just show all components the same way + // Get base path for links + const basePrefix = window.location.pathname.includes('/apps/') ? '../../' : '/'; + components.forEach(component => { const row = document.createElement('tr'); + const memoryTokens = state.tokenCounts.get(`${component.id}-memory`) || 0; + const reasoningTokens = state.tokenCounts.get(`${component.id}-reasoning`) || 0; + const examplesTokens = state.tokenCounts.get(`${component.id}-examples`) || 0; + row.innerHTML = ` ${component.name} - Memory - Reasoning - Examples - Full + + Memory + ${memoryTokens > 0 ? `${memoryTokens.toLocaleString()} tokens` : ''} + + + Reasoning + ${reasoningTokens > 0 ? `${reasoningTokens.toLocaleString()} tokens` : ''} + + + ${examplesTokens > 0 + ? `Examples + ${examplesTokens.toLocaleString()} tokens` + : '-' + } + + - `; tbody.appendChild(row); }); } -// Check if examples file exists (all components have examples) -function hasExamplesFile(componentId) { - // All components have examples files - return true; -} - -// Check if full file exists (all components have full files) -function hasFullFile(componentId) { - // All components have full files - return true; -} - -// Utility function to capitalize first letter -function capitalizeFirst(str) { - return str.charAt(0).toUpperCase() + str.slice(1); -} \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/cli.txt b/docs/md_v2/assets/llm.txt/diagrams/cli.txt new file mode 100644 index 00000000..d1801330 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/cli.txt @@ -0,0 +1,425 @@ +## CLI Workflows and Profile Management + +Visual representations of command-line interface operations, browser profile management, and identity-based crawling workflows. + +### CLI Command Flow Architecture + +```mermaid +flowchart TD + A[crwl command] --> B{Command Type?} + + B -->|URL Crawling| C[Parse URL & Options] + B -->|Profile Management| D[profiles subcommand] + B -->|CDP Browser| E[cdp subcommand] + B -->|Browser Control| F[browser subcommand] + B -->|Configuration| G[config subcommand] + + C --> C1{Output Format?} + C1 -->|Default| C2[HTML/Markdown] + C1 -->|JSON| C3[Structured Data] + C1 -->|markdown| C4[Clean Markdown] + C1 -->|markdown-fit| C5[Filtered Content] + + C --> C6{Authentication?} + C6 -->|Profile Specified| C7[Load Browser Profile] + C6 -->|No Profile| C8[Anonymous Session] + + C7 --> C9[Launch with User Data] + C8 --> C10[Launch Clean Browser] + + C9 --> C11[Execute Crawl] + C10 --> C11 + + C11 --> C12{Success?} + C12 -->|Yes| C13[Return Results] + C12 -->|No| C14[Error Handling] + + D --> D1[Interactive Profile Menu] + D1 --> D2{Menu Choice?} + D2 -->|Create| D3[Open Browser for Setup] + D2 -->|List| D4[Show Existing Profiles] + D2 -->|Delete| D5[Remove Profile] + D2 -->|Use| D6[Crawl with Profile] + + E --> E1[Launch CDP Browser] + E1 --> E2[Remote Debugging Active] + + F --> F1{Browser Action?} + F1 -->|start| F2[Start Builtin Browser] + F1 -->|stop| F3[Stop Builtin Browser] + F1 -->|status| F4[Check Browser Status] + F1 -->|view| F5[Open Browser Window] + + G --> G1{Config Action?} + G1 -->|list| G2[Show All Settings] + G1 -->|set| G3[Update Setting] + G1 -->|get| G4[Read Setting] + + style A fill:#e1f5fe + style C13 fill:#c8e6c9 + style C14 fill:#ffcdd2 + style D3 fill:#fff3e0 + style E2 fill:#f3e5f5 +``` + +### Profile Management Workflow + +```mermaid +sequenceDiagram + participant User + participant CLI + participant ProfileManager + participant Browser + participant FileSystem + + User->>CLI: crwl profiles + CLI->>ProfileManager: Initialize profile manager + ProfileManager->>FileSystem: Scan for existing profiles + FileSystem-->>ProfileManager: Profile list + ProfileManager-->>CLI: Show interactive menu + CLI-->>User: Display options + + Note over User: User selects "Create new profile" + + User->>CLI: Create profile "linkedin-auth" + CLI->>ProfileManager: create_profile("linkedin-auth") + ProfileManager->>FileSystem: Create profile directory + ProfileManager->>Browser: Launch with new user data dir + Browser-->>User: Opens browser window + + Note over User: User manually logs in to LinkedIn + + User->>Browser: Navigate and authenticate + Browser->>FileSystem: Save cookies, session data + User->>CLI: Press 'q' to save profile + CLI->>ProfileManager: finalize_profile() + ProfileManager->>FileSystem: Lock profile settings + ProfileManager-->>CLI: Profile saved + CLI-->>User: Profile "linkedin-auth" created + + Note over User: Later usage + + User->>CLI: crwl https://linkedin.com/feed -p linkedin-auth + CLI->>ProfileManager: load_profile("linkedin-auth") + ProfileManager->>FileSystem: Read profile data + FileSystem-->>ProfileManager: User data directory + ProfileManager-->>CLI: Profile configuration + CLI->>Browser: Launch with existing profile + Browser-->>CLI: Authenticated session ready + CLI->>Browser: Navigate to target URL + Browser-->>CLI: Crawl results with auth context + CLI-->>User: Authenticated content +``` + +### Browser Management State Machine + +```mermaid +stateDiagram-v2 + [*] --> Stopped: Initial state + + Stopped --> Starting: crwl browser start + Starting --> Running: Browser launched + Running --> Viewing: crwl browser view + Viewing --> Running: Close window + Running --> Stopping: crwl browser stop + Stopping --> Stopped: Cleanup complete + + Running --> Restarting: crwl browser restart + Restarting --> Running: New browser instance + + Stopped --> CDP_Mode: crwl cdp + CDP_Mode --> CDP_Running: Remote debugging active + CDP_Running --> CDP_Mode: Manual close + CDP_Mode --> Stopped: Exit CDP + + Running --> StatusCheck: crwl browser status + StatusCheck --> Running: Return status + + note right of Running : Port 9222 active\nBuiltin browser available + note right of CDP_Running : Remote debugging\nManual control enabled + note right of Viewing : Visual browser window\nDirect interaction +``` + +### Authentication Workflow for Protected Sites + +```mermaid +flowchart TD + A[Protected Site Access Needed] --> B[Create Profile Strategy] + + B --> C{Existing Profile?} + C -->|Yes| D[Test Profile Validity] + C -->|No| E[Create New Profile] + + D --> D1{Profile Valid?} + D1 -->|Yes| F[Use Existing Profile] + D1 -->|No| E + + E --> E1[crwl profiles] + E1 --> E2[Select Create New Profile] + E2 --> E3[Enter Profile Name] + E3 --> E4[Browser Opens for Auth] + + E4 --> E5{Authentication Method?} + E5 -->|Login Form| E6[Fill Username/Password] + E5 -->|OAuth| E7[OAuth Flow] + E5 -->|2FA| E8[Handle 2FA] + E5 -->|Session Cookie| E9[Import Cookies] + + E6 --> E10[Manual Login Process] + E7 --> E10 + E8 --> E10 + E9 --> E10 + + E10 --> E11[Verify Authentication] + E11 --> E12{Auth Successful?} + E12 -->|Yes| E13[Save Profile - Press q] + E12 -->|No| E10 + + E13 --> F + F --> G[Execute Authenticated Crawl] + + G --> H[crwl URL -p profile-name] + H --> I[Load Profile Data] + I --> J[Launch Browser with Auth] + J --> K[Navigate to Protected Content] + K --> L[Extract Authenticated Data] + L --> M[Return Results] + + style E4 fill:#fff3e0 + style E10 fill:#e3f2fd + style F fill:#e8f5e8 + style M fill:#c8e6c9 +``` + +### CDP Browser Architecture + +```mermaid +graph TB + subgraph "CLI Layer" + A[crwl cdp command] --> B[CDP Manager] + B --> C[Port Configuration] + B --> D[Profile Selection] + end + + subgraph "Browser Process" + E[Chromium/Firefox] --> F[Remote Debugging] + F --> G[WebSocket Endpoint] + G --> H[ws://localhost:9222] + end + + subgraph "Client Connections" + I[Manual Browser Control] --> H + J[DevTools Interface] --> H + K[External Automation] --> H + L[Crawl4AI Crawler] --> H + end + + subgraph "Profile Data" + M[User Data Directory] --> E + N[Cookies & Sessions] --> M + O[Extensions] --> M + P[Browser State] --> M + end + + A --> E + C --> H + D --> M + + style H fill:#e3f2fd + style E fill:#f3e5f5 + style M fill:#e8f5e8 +``` + +### Configuration Management Hierarchy + +```mermaid +graph TD + subgraph "Global Configuration" + A[~/.crawl4ai/config.yml] --> B[Default Settings] + B --> C[LLM Providers] + B --> D[Browser Defaults] + B --> E[Output Preferences] + end + + subgraph "Profile Configuration" + F[Profile Directory] --> G[Browser State] + F --> H[Authentication Data] + F --> I[Site-Specific Settings] + end + + subgraph "Command-Line Overrides" + J[-b browser_config] --> K[Runtime Browser Settings] + L[-c crawler_config] --> M[Runtime Crawler Settings] + N[-o output_format] --> O[Runtime Output Format] + end + + subgraph "Configuration Files" + P[browser.yml] --> Q[Browser Config Template] + R[crawler.yml] --> S[Crawler Config Template] + T[extract.yml] --> U[Extraction Config] + end + + subgraph "Resolution Order" + V[Command Line Args] --> W[Config Files] + W --> X[Profile Settings] + X --> Y[Global Defaults] + end + + J --> V + L --> V + N --> V + P --> W + R --> W + T --> W + F --> X + A --> Y + + style V fill:#ffcdd2 + style W fill:#fff3e0 + style X fill:#e3f2fd + style Y fill:#e8f5e8 +``` + +### Identity-Based Crawling Decision Tree + +```mermaid +flowchart TD + A[Target Website Assessment] --> B{Authentication Required?} + + B -->|No| C[Standard Anonymous Crawl] + B -->|Yes| D{Authentication Type?} + + D -->|Login Form| E[Create Login Profile] + D -->|OAuth/SSO| F[Create OAuth Profile] + D -->|API Key/Token| G[Use Headers/Config] + D -->|Session Cookies| H[Import Cookie Profile] + + E --> E1[crwl profiles → Manual login] + F --> F1[crwl profiles → OAuth flow] + G --> G1[Configure headers in crawler config] + H --> H1[Import cookies to profile] + + E1 --> I[Test Authentication] + F1 --> I + G1 --> I + H1 --> I + + I --> J{Auth Test Success?} + J -->|Yes| K[Production Crawl Setup] + J -->|No| L[Debug Authentication] + + L --> L1{Common Issues?} + L1 -->|Rate Limiting| L2[Add delays/user simulation] + L1 -->|Bot Detection| L3[Enable stealth mode] + L1 -->|Session Expired| L4[Refresh authentication] + L1 -->|CAPTCHA| L5[Manual intervention needed] + + L2 --> M[Retry with Adjustments] + L3 --> M + L4 --> E1 + L5 --> N[Semi-automated approach] + + M --> I + N --> O[Manual auth + automated crawl] + + K --> P[Automated Authenticated Crawling] + O --> P + C --> P + + P --> Q[Monitor & Maintain Profiles] + + style I fill:#fff3e0 + style K fill:#e8f5e8 + style P fill:#c8e6c9 + style L fill:#ffcdd2 + style N fill:#f3e5f5 +``` + +### CLI Usage Patterns and Best Practices + +```mermaid +timeline + title CLI Workflow Evolution + + section Setup Phase + Installation : pip install crawl4ai + : crawl4ai-setup + Basic Test : crwl https://example.com + Config Setup : crwl config set defaults + + section Profile Creation + Site Analysis : Identify auth requirements + Profile Creation : crwl profiles + Manual Login : Authenticate in browser + Profile Save : Press 'q' to save + + section Development Phase + Test Crawls : crwl URL -p profile -v + Config Tuning : Adjust browser/crawler settings + Output Testing : Try different output formats + Error Handling : Debug authentication issues + + section Production Phase + Automated Crawls : crwl URL -p profile -o json + Batch Processing : Multiple URLs with same profile + Monitoring : Check profile validity + Maintenance : Update profiles as needed +``` + +### Multi-Profile Management Strategy + +```mermaid +graph LR + subgraph "Profile Categories" + A[Social Media Profiles] + B[Work/Enterprise Profiles] + C[E-commerce Profiles] + D[Research Profiles] + end + + subgraph "Social Media" + A --> A1[linkedin-personal] + A --> A2[twitter-monitor] + A --> A3[facebook-research] + A --> A4[instagram-brand] + end + + subgraph "Enterprise" + B --> B1[company-intranet] + B --> B2[github-enterprise] + B --> B3[confluence-docs] + B --> B4[jira-tickets] + end + + subgraph "E-commerce" + C --> C1[amazon-seller] + C --> C2[shopify-admin] + C --> C3[ebay-monitor] + C --> C4[marketplace-competitor] + end + + subgraph "Research" + D --> D1[academic-journals] + D --> D2[data-platforms] + D --> D3[survey-tools] + D --> D4[government-portals] + end + + subgraph "Usage Patterns" + E[Daily Monitoring] --> A2 + E --> B1 + F[Weekly Reports] --> C3 + F --> D2 + G[On-Demand Research] --> D1 + G --> D4 + H[Competitive Analysis] --> C4 + H --> A4 + end + + style A1 fill:#e3f2fd + style B1 fill:#f3e5f5 + style C1 fill:#e8f5e8 + style D1 fill:#fff3e0 +``` + +**📖 Learn more:** [CLI Reference](https://docs.crawl4ai.com/core/cli/), [Identity-Based Crawling](https://docs.crawl4ai.com/advanced/identity-based-crawling/), [Profile Management](https://docs.crawl4ai.com/advanced/session-management/), [Authentication Strategies](https://docs.crawl4ai.com/advanced/hooks-auth/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/config_objects.txt b/docs/md_v2/assets/llm.txt/diagrams/config_objects.txt new file mode 100644 index 00000000..0c2df430 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/config_objects.txt @@ -0,0 +1,1421 @@ +## Configuration Objects and System Architecture + +Visual representations of Crawl4AI's configuration system, object relationships, and data flow patterns. + +### Configuration Object Relationships + +```mermaid +classDiagram + class BrowserConfig { + +browser_type: str + +headless: bool + +viewport_width: int + +viewport_height: int + +proxy: str + +user_agent: str + +cookies: list + +headers: dict + +clone() BrowserConfig + +to_dict() dict + } + + class CrawlerRunConfig { + +cache_mode: CacheMode + +extraction_strategy: ExtractionStrategy + +markdown_generator: MarkdownGenerator + +js_code: list + +wait_for: str + +screenshot: bool + +session_id: str + +clone() CrawlerRunConfig + +dump() dict + } + + class LLMConfig { + +provider: str + +api_token: str + +base_url: str + +temperature: float + +max_tokens: int + +clone() LLMConfig + +to_dict() dict + } + + class CrawlResult { + +url: str + +success: bool + +html: str + +cleaned_html: str + +markdown: MarkdownGenerationResult + +extracted_content: str + +media: dict + +links: dict + +screenshot: str + +pdf: bytes + } + + class AsyncWebCrawler { + +config: BrowserConfig + +arun() CrawlResult + } + + AsyncWebCrawler --> BrowserConfig : uses + AsyncWebCrawler --> CrawlerRunConfig : accepts + CrawlerRunConfig --> LLMConfig : contains + AsyncWebCrawler --> CrawlResult : returns + + note for BrowserConfig "Controls browser\nenvironment and behavior" + note for CrawlerRunConfig "Controls individual\ncrawl operations" + note for LLMConfig "Configures LLM\nproviders and parameters" + note for CrawlResult "Contains all crawl\noutputs and metadata" +``` + +### Configuration Decision Flow + +```mermaid +flowchart TD + A[Start Configuration] --> B{Use Case Type?} + + B -->|Simple Web Scraping| C[Basic Config Pattern] + B -->|Data Extraction| D[Extraction Config Pattern] + B -->|Stealth Crawling| E[Stealth Config Pattern] + B -->|High Performance| F[Performance Config Pattern] + + C --> C1[BrowserConfig: headless=True] + C --> C2[CrawlerRunConfig: basic options] + C1 --> C3[No LLMConfig needed] + C2 --> C3 + C3 --> G[Simple Crawling Ready] + + D --> D1[BrowserConfig: standard setup] + D --> D2[CrawlerRunConfig: with extraction_strategy] + D --> D3[LLMConfig: for LLM extraction] + D1 --> D4[Advanced Extraction Ready] + D2 --> D4 + D3 --> D4 + + E --> E1[BrowserConfig: proxy + user_agent] + E --> E2[CrawlerRunConfig: simulate_user=True] + E1 --> E3[Stealth Crawling Ready] + E2 --> E3 + + F --> F1[BrowserConfig: lightweight] + F --> F2[CrawlerRunConfig: caching + concurrent] + F1 --> F3[High Performance Ready] + F2 --> F3 + + G --> H[Execute Crawl] + D4 --> H + E3 --> H + F3 --> H + + H --> I[Get CrawlResult] + + style A fill:#e1f5fe + style I fill:#c8e6c9 + style G fill:#fff3e0 + style D4 fill:#f3e5f5 + style E3 fill:#ffebee + style F3 fill:#e8f5e8 +``` + +### Configuration Lifecycle Sequence + +```mermaid +sequenceDiagram + participant User + participant BrowserConfig as Browser Config + participant CrawlerConfig as Crawler Config + participant LLMConfig as LLM Config + participant Crawler as AsyncWebCrawler + participant Browser as Browser Instance + participant Result as CrawlResult + + User->>BrowserConfig: Create with browser settings + User->>CrawlerConfig: Create with crawl options + User->>LLMConfig: Create with LLM provider + + User->>Crawler: Initialize with BrowserConfig + Crawler->>Browser: Launch browser with config + Browser-->>Crawler: Browser ready + + User->>Crawler: arun(url, CrawlerConfig) + Crawler->>Crawler: Apply CrawlerConfig settings + + alt LLM Extraction Needed + Crawler->>LLMConfig: Get LLM settings + LLMConfig-->>Crawler: Provider configuration + end + + Crawler->>Browser: Navigate with settings + Browser->>Browser: Apply page interactions + Browser->>Browser: Execute JavaScript if specified + Browser->>Browser: Wait for conditions + + Browser-->>Crawler: Page content ready + Crawler->>Crawler: Process content per config + Crawler->>Result: Create CrawlResult + + Result-->>User: Return complete result + + Note over User,Result: Configuration objects control every aspect +``` + +### BrowserConfig Parameter Flow + +```mermaid +graph TB + subgraph "BrowserConfig Parameters" + A[browser_type] --> A1[chromium/firefox/webkit] + B[headless] --> B1[true: invisible / false: visible] + C[viewport] --> C1[width x height dimensions] + D[proxy] --> D1[proxy server configuration] + E[user_agent] --> E1[browser identification string] + F[cookies] --> F1[session authentication] + G[headers] --> G1[HTTP request headers] + H[extra_args] --> H1[browser command line flags] + end + + subgraph "Browser Instance" + I[Playwright Browser] + J[Browser Context] + K[Page Instance] + end + + A1 --> I + B1 --> I + C1 --> J + D1 --> J + E1 --> J + F1 --> J + G1 --> J + H1 --> I + + I --> J + J --> K + + style I fill:#e3f2fd + style J fill:#f3e5f5 + style K fill:#e8f5e8 +``` + +### CrawlerRunConfig Category Breakdown + +```mermaid +mindmap + root((CrawlerRunConfig)) + Content Processing + word_count_threshold + css_selector + target_elements + excluded_tags + markdown_generator + extraction_strategy + Page Navigation + wait_until + page_timeout + wait_for + wait_for_images + delay_before_return_html + Page Interaction + js_code + scan_full_page + simulate_user + magic + remove_overlay_elements + Caching Session + cache_mode + session_id + shared_data + Media Output + screenshot + pdf + capture_mhtml + image_score_threshold + Link Filtering + exclude_external_links + exclude_domains + exclude_social_media_links +``` + +### LLM Provider Selection Flow + +```mermaid +flowchart TD + A[Need LLM Processing?] --> B{Provider Type?} + + B -->|Cloud API| C{Which Service?} + B -->|Local Model| D[Local Setup] + B -->|Custom Endpoint| E[Custom Config] + + C -->|OpenAI| C1[OpenAI GPT Models] + C -->|Anthropic| C2[Claude Models] + C -->|Google| C3[Gemini Models] + C -->|Groq| C4[Fast Inference] + + D --> D1[Ollama Setup] + E --> E1[Custom base_url] + + C1 --> F1[LLMConfig with OpenAI settings] + C2 --> F2[LLMConfig with Anthropic settings] + C3 --> F3[LLMConfig with Google settings] + C4 --> F4[LLMConfig with Groq settings] + D1 --> F5[LLMConfig with Ollama settings] + E1 --> F6[LLMConfig with custom settings] + + F1 --> G[Use in Extraction Strategy] + F2 --> G + F3 --> G + F4 --> G + F5 --> G + F6 --> G + + style A fill:#e1f5fe + style G fill:#c8e6c9 +``` + +### CrawlResult Structure and Data Flow + +```mermaid +graph TB + subgraph "CrawlResult Output" + A[Basic Info] + B[HTML Content] + C[Markdown Output] + D[Extracted Data] + E[Media Files] + F[Metadata] + end + + subgraph "Basic Info Details" + A --> A1[url: final URL] + A --> A2[success: boolean] + A --> A3[status_code: HTTP status] + A --> A4[error_message: if failed] + end + + subgraph "HTML Content Types" + B --> B1[html: raw HTML] + B --> B2[cleaned_html: processed] + B --> B3[fit_html: filtered content] + end + + subgraph "Markdown Variants" + C --> C1[raw_markdown: basic conversion] + C --> C2[markdown_with_citations: with refs] + C --> C3[fit_markdown: filtered content] + C --> C4[references_markdown: citation list] + end + + subgraph "Extracted Content" + D --> D1[extracted_content: JSON string] + D --> D2[From CSS extraction] + D --> D3[From LLM extraction] + D --> D4[From XPath extraction] + end + + subgraph "Media and Links" + E --> E1[images: list with scores] + E --> E2[videos: media content] + E --> E3[internal_links: same domain] + E --> E4[external_links: other domains] + end + + subgraph "Generated Files" + F --> F1[screenshot: base64 PNG] + F --> F2[pdf: binary PDF data] + F --> F3[mhtml: archive format] + F --> F4[ssl_certificate: cert info] + end + + style A fill:#e3f2fd + style B fill:#f3e5f5 + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#ffebee + style F fill:#f1f8e9 +``` + +### Configuration Pattern State Machine + +```mermaid +stateDiagram-v2 + [*] --> ConfigCreation + + ConfigCreation --> BasicConfig: Simple use case + ConfigCreation --> AdvancedConfig: Complex requirements + ConfigCreation --> TemplateConfig: Use predefined pattern + + BasicConfig --> Validation: Check parameters + AdvancedConfig --> Validation: Check parameters + TemplateConfig --> Validation: Check parameters + + Validation --> Invalid: Missing required fields + Validation --> Valid: All parameters correct + + Invalid --> ConfigCreation: Fix and retry + + Valid --> InUse: Passed to crawler + InUse --> Cloning: Need variation + InUse --> Serialization: Save configuration + InUse --> Complete: Crawl finished + + Cloning --> Modified: clone() with updates + Modified --> Valid: Validate changes + + Serialization --> Stored: dump() to dict + Stored --> Restoration: load() from dict + Restoration --> Valid: Recreate config object + + Complete --> [*] + + note right of BasicConfig : Minimal required settings + note right of AdvancedConfig : Full feature configuration + note right of TemplateConfig : Pre-built patterns +``` + +### Configuration Integration Architecture + +```mermaid +graph TB + subgraph "User Layer" + U1[Configuration Creation] + U2[Parameter Selection] + U3[Pattern Application] + end + + subgraph "Configuration Layer" + C1[BrowserConfig] + C2[CrawlerRunConfig] + C3[LLMConfig] + C4[Config Validation] + C5[Config Cloning] + end + + subgraph "Crawler Engine" + E1[Browser Management] + E2[Page Navigation] + E3[Content Processing] + E4[Extraction Pipeline] + E5[Result Generation] + end + + subgraph "Output Layer" + O1[CrawlResult Assembly] + O2[Data Formatting] + O3[File Generation] + O4[Metadata Collection] + end + + U1 --> C1 + U2 --> C2 + U3 --> C3 + + C1 --> C4 + C2 --> C4 + C3 --> C4 + + C4 --> E1 + C2 --> E2 + C2 --> E3 + C3 --> E4 + + E1 --> E2 + E2 --> E3 + E3 --> E4 + E4 --> E5 + + E5 --> O1 + O1 --> O2 + O2 --> O3 + O3 --> O4 + + C5 -.-> C1 + C5 -.-> C2 + C5 -.-> C3 + + style U1 fill:#e1f5fe + style C4 fill:#fff3e0 + style E4 fill:#f3e5f5 + style O4 fill:#c8e6c9 +``` + +### Configuration Best Practices Flow + +```mermaid +flowchart TD + A[Configuration Planning] --> B{Performance Priority?} + + B -->|Speed| C[Fast Config Pattern] + B -->|Quality| D[Comprehensive Config Pattern] + B -->|Stealth| E[Stealth Config Pattern] + B -->|Balanced| F[Standard Config Pattern] + + C --> C1[Enable caching] + C --> C2[Disable heavy features] + C --> C3[Use text_mode] + C1 --> G[Apply Configuration] + C2 --> G + C3 --> G + + D --> D1[Enable all processing] + D --> D2[Use content filters] + D --> D3[Capture everything] + D1 --> G + D2 --> G + D3 --> G + + E --> E1[Rotate user agents] + E --> E2[Use proxies] + E --> E3[Simulate human behavior] + E1 --> G + E2 --> G + E3 --> G + + F --> F1[Balanced timeouts] + F --> F2[Selective processing] + F --> F3[Smart caching] + F1 --> G + F2 --> G + F3 --> G + + G --> H[Test Configuration] + H --> I{Results Satisfactory?} + + I -->|Yes| J[Production Ready] + I -->|No| K[Adjust Parameters] + + K --> L[Clone and Modify] + L --> H + + J --> M[Deploy with Confidence] + + style A fill:#e1f5fe + style J fill:#c8e6c9 + style M fill:#e8f5e8 +``` + +## Advanced Configuration Workflows and Patterns + +Visual representations of advanced Crawl4AI configuration strategies, proxy management, session handling, and identity-based crawling patterns. + +### User Agent and Anti-Detection Strategy Flow + +```mermaid +flowchart TD + A[Start Configuration] --> B{Detection Avoidance Needed?} + + B -->|No| C[Standard User Agent] + B -->|Yes| D[Anti-Detection Strategy] + + C --> C1[Static user_agent string] + C1 --> Z[Basic Configuration] + + D --> E{User Agent Strategy} + E -->|Random| F[user_agent_mode: random] + E -->|Static Custom| G[Custom user_agent string] + E -->|Platform Specific| H[Generator Config] + + F --> I[Configure Generator] + H --> I + I --> I1[Platform: windows/macos/linux] + I1 --> I2[Browser: chrome/firefox/safari] + I2 --> I3[Device: desktop/mobile/tablet] + + G --> J[Behavioral Simulation] + I3 --> J + + J --> K{Enable Simulation?} + K -->|Yes| L[simulate_user: True] + K -->|No| M[Standard Behavior] + + L --> N[override_navigator: True] + N --> O[Configure Delays] + O --> O1[mean_delay: 1.5] + O1 --> O2[max_range: 2.0] + O2 --> P[Magic Mode] + + M --> P + P --> Q{Auto-Handle Patterns?} + Q -->|Yes| R[magic: True] + Q -->|No| S[Manual Handling] + + R --> T[Complete Anti-Detection Setup] + S --> T + Z --> T + + style D fill:#ffeb3b + style T fill:#c8e6c9 + style L fill:#ff9800 + style R fill:#9c27b0 +``` + +### Proxy Configuration and Rotation Architecture + +```mermaid +graph TB + subgraph "Proxy Configuration Types" + A[Single Proxy] --> A1[ProxyConfig object] + B[Proxy String] --> B1[from_string method] + C[Environment Proxies] --> C1[from_env method] + D[Multiple Proxies] --> D1[ProxyRotationStrategy] + end + + subgraph "ProxyConfig Structure" + A1 --> E[server: URL] + A1 --> F[username: auth] + A1 --> G[password: auth] + A1 --> H[ip: extracted] + end + + subgraph "Rotation Strategies" + D1 --> I[round_robin] + D1 --> J[random] + D1 --> K[least_used] + D1 --> L[failure_aware] + end + + subgraph "Configuration Flow" + M[CrawlerRunConfig] --> N[proxy_config] + M --> O[proxy_rotation_strategy] + N --> P[Single Proxy Usage] + O --> Q[Multi-Proxy Rotation] + end + + subgraph "Runtime Behavior" + P --> R[All requests use same proxy] + Q --> S[Requests rotate through proxies] + S --> T[Health monitoring] + T --> U[Automatic failover] + end + + style A1 fill:#e3f2fd + style D1 fill:#f3e5f5 + style M fill:#e8f5e8 + style T fill:#fff3e0 +``` + +### Content Selection Strategy Comparison + +```mermaid +sequenceDiagram + participant Browser + participant HTML as Raw HTML + participant CSS as css_selector + participant Target as target_elements + participant Processor as Content Processor + participant Output + + Note over Browser,Output: css_selector Strategy + Browser->>HTML: Load complete page + HTML->>CSS: Apply css_selector + CSS->>CSS: Extract matching elements only + CSS->>Processor: Process subset HTML + Processor->>Output: Markdown + Extraction from subset + + Note over Browser,Output: target_elements Strategy + Browser->>HTML: Load complete page + HTML->>Processor: Process entire page + Processor->>Target: Focus on target_elements + Target->>Target: Extract from specified elements + Processor->>Output: Full page links/media + targeted content + + Note over CSS,Target: Key Difference + Note over CSS: Affects entire processing pipeline + Note over Target: Affects only content extraction +``` + +### Advanced wait_for Conditions Decision Tree + +```mermaid +flowchart TD + A[Configure wait_for] --> B{Condition Type?} + + B -->|CSS Element| C[CSS Selector Wait] + B -->|JavaScript Condition| D[JS Expression Wait] + B -->|Complex Logic| E[Custom JS Function] + B -->|No Wait| F[Default domcontentloaded] + + C --> C1["wait_for: 'css:.element'"] + C1 --> C2[Element appears in DOM] + C2 --> G[Continue Processing] + + D --> D1["wait_for: 'js:() => condition'"] + D1 --> D2[JavaScript returns true] + D2 --> G + + E --> E1[Complex JS Function] + E1 --> E2{Multiple Conditions} + E2 -->|AND Logic| E3[All conditions true] + E2 -->|OR Logic| E4[Any condition true] + E2 -->|Custom Logic| E5[User-defined logic] + + E3 --> G + E4 --> G + E5 --> G + + F --> G + + G --> H{Timeout Reached?} + H -->|No| I[Page Ready] + H -->|Yes| J[Timeout Error] + + I --> K[Begin Content Extraction] + J --> L[Handle Error/Retry] + + style C1 fill:#e8f5e8 + style D1 fill:#fff3e0 + style E1 fill:#ffeb3b + style I fill:#c8e6c9 + style J fill:#ffcdd2 +``` + +### Session Management Lifecycle + +```mermaid +stateDiagram-v2 + [*] --> SessionCreate + + SessionCreate --> SessionActive: session_id provided + SessionCreate --> OneTime: no session_id + + SessionActive --> BrowserLaunch: First arun() call + BrowserLaunch --> PageLoad: Navigate to URL + PageLoad --> JSExecution: Execute js_code + JSExecution --> ContentExtract: Extract content + ContentExtract --> SessionHold: Keep session alive + + SessionHold --> ReuseSession: Subsequent arun() calls + ReuseSession --> JSOnlyMode: js_only=True + ReuseSession --> NewNavigation: js_only=False + + JSOnlyMode --> JSExecution: Execute JS in existing page + NewNavigation --> PageLoad: Navigate to new URL + + SessionHold --> SessionKill: kill_session() called + SessionHold --> SessionTimeout: Timeout reached + SessionHold --> SessionError: Error occurred + + SessionKill --> SessionCleanup + SessionTimeout --> SessionCleanup + SessionError --> SessionCleanup + SessionCleanup --> [*] + + OneTime --> BrowserLaunch + ContentExtract --> OneTimeCleanup: No session_id + OneTimeCleanup --> [*] + + note right of SessionActive : Persistent browser context + note right of JSOnlyMode : Reuse existing page + note right of OneTime : Temporary browser instance +``` + +### Identity-Based Crawling Configuration Matrix + +```mermaid +graph TD + subgraph "Geographic Identity" + A[Geolocation] --> A1[latitude/longitude] + A2[Timezone] --> A3[timezone_id] + A4[Locale] --> A5[language/region] + end + + subgraph "Browser Identity" + B[User Agent] --> B1[Platform fingerprint] + B2[Navigator Properties] --> B3[override_navigator] + B4[Headers] --> B5[Accept-Language] + end + + subgraph "Behavioral Identity" + C[Mouse Simulation] --> C1[simulate_user] + C2[Timing Patterns] --> C3[mean_delay/max_range] + C4[Interaction Patterns] --> C5[Human-like behavior] + end + + subgraph "Configuration Integration" + D[CrawlerRunConfig] --> A + D --> B + D --> C + + D --> E[Complete Identity Profile] + + E --> F[Geographic Consistency] + E --> G[Browser Consistency] + E --> H[Behavioral Consistency] + end + + F --> I[Paris, France Example] + I --> I1[locale: fr-FR] + I --> I2[timezone: Europe/Paris] + I --> I3[geolocation: 48.8566, 2.3522] + + G --> J[Windows Chrome Example] + J --> J1[platform: windows] + J --> J2[browser: chrome] + J --> J3[user_agent: matching pattern] + + H --> K[Human Simulation] + K --> K1[Random delays] + K --> K2[Mouse movements] + K --> K3[Navigation patterns] + + style E fill:#ff9800 + style I fill:#e3f2fd + style J fill:#f3e5f5 + style K fill:#e8f5e8 +``` + +### Multi-Step Crawling Sequence Flow + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant Session as Browser Session + participant Page1 as Login Page + participant Page2 as Dashboard + participant Page3 as Data Pages + + User->>Crawler: Step 1 - Login + Crawler->>Session: Create session_id="user_session" + Session->>Page1: Navigate to login + Page1->>Page1: Execute login JS + Page1->>Page1: Wait for dashboard redirect + Page1-->>Crawler: Login complete + + User->>Crawler: Step 2 - Navigate dashboard + Note over Crawler,Session: Reuse existing session + Crawler->>Session: js_only=True (no page reload) + Session->>Page2: Execute navigation JS + Page2->>Page2: Wait for data table + Page2-->>Crawler: Dashboard ready + + User->>Crawler: Step 3 - Extract data pages + loop For each page 1-5 + Crawler->>Session: js_only=True + Session->>Page3: Click page button + Page3->>Page3: Wait for page active + Page3->>Page3: Extract content + Page3-->>Crawler: Page data + end + + User->>Crawler: Cleanup + Crawler->>Session: kill_session() + Session-->>Crawler: Session destroyed +``` + +### Configuration Import and Usage Patterns + +```mermaid +graph LR + subgraph "Main Package Imports" + A[crawl4ai] --> A1[AsyncWebCrawler] + A --> A2[BrowserConfig] + A --> A3[CrawlerRunConfig] + A --> A4[LLMConfig] + A --> A5[CacheMode] + A --> A6[ProxyConfig] + A --> A7[GeolocationConfig] + end + + subgraph "Strategy Imports" + A --> B1[JsonCssExtractionStrategy] + A --> B2[LLMExtractionStrategy] + A --> B3[DefaultMarkdownGenerator] + A --> B4[PruningContentFilter] + A --> B5[RegexChunking] + end + + subgraph "Configuration Assembly" + C[Configuration Builder] --> A2 + C --> A3 + C --> A4 + + A2 --> D[Browser Environment] + A3 --> E[Crawl Behavior] + A4 --> F[LLM Integration] + + E --> B1 + E --> B2 + E --> B3 + E --> B4 + E --> B5 + end + + subgraph "Runtime Flow" + G[Crawler Instance] --> D + G --> H[Execute Crawl] + H --> E + H --> F + H --> I[CrawlResult] + end + + style A fill:#e3f2fd + style C fill:#fff3e0 + style G fill:#e8f5e8 + style I fill:#c8e6c9 +``` + +### Advanced Configuration Decision Matrix + +```mermaid +flowchart TD + A[Advanced Configuration Needed] --> B{Primary Use Case?} + + B -->|Bot Detection Avoidance| C[Anti-Detection Setup] + B -->|Geographic Simulation| D[Identity-Based Config] + B -->|Multi-Step Workflows| E[Session Management] + B -->|Network Reliability| F[Proxy Configuration] + B -->|Content Precision| G[Selector Strategy] + + C --> C1[Random User Agents] + C --> C2[Behavioral Simulation] + C --> C3[Navigator Override] + C --> C4[Magic Mode] + + D --> D1[Geolocation Setup] + D --> D2[Locale Configuration] + D --> D3[Timezone Setting] + D --> D4[Browser Fingerprinting] + + E --> E1[Session ID Management] + E --> E2[JS-Only Navigation] + E --> E3[Shared Data Context] + E --> E4[Session Cleanup] + + F --> F1[Single Proxy] + F --> F2[Proxy Rotation] + F --> F3[Failover Strategy] + F --> F4[Health Monitoring] + + G --> G1[css_selector for Subset] + G --> G2[target_elements for Focus] + G --> G3[excluded_selector for Removal] + G --> G4[Hierarchical Selection] + + C1 --> H[Production Configuration] + C2 --> H + C3 --> H + C4 --> H + D1 --> H + D2 --> H + D3 --> H + D4 --> H + E1 --> H + E2 --> H + E3 --> H + E4 --> H + F1 --> H + F2 --> H + F3 --> H + F4 --> H + G1 --> H + G2 --> H + G3 --> H + G4 --> H + + style H fill:#c8e6c9 + style C fill:#ff9800 + style D fill:#9c27b0 + style E fill:#2196f3 + style F fill:#4caf50 + style G fill:#ff5722 +``` + +## Advanced Features Workflows and Architecture + +Visual representations of advanced crawling capabilities, session management, hooks system, and performance optimization strategies. + +### File Download Workflow + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant Browser + participant FileSystem + participant Page + + User->>Crawler: Configure downloads_path + Crawler->>Browser: Create context with download handling + Browser-->>Crawler: Context ready + + Crawler->>Page: Navigate to target URL + Page-->>Crawler: Page loaded + + Crawler->>Page: Execute download JavaScript + Page->>Page: Find download links (.pdf, .zip, etc.) + + loop For each download link + Page->>Browser: Click download link + Browser->>FileSystem: Save file to downloads_path + FileSystem-->>Browser: File saved + Browser-->>Page: Download complete + end + + Page-->>Crawler: All downloads triggered + Crawler->>FileSystem: Check downloaded files + FileSystem-->>Crawler: List of file paths + Crawler-->>User: CrawlResult with downloaded_files[] + + Note over User,FileSystem: Files available in downloads_path +``` + +### Hooks Execution Flow + +```mermaid +flowchart TD + A[Start Crawl] --> B[on_browser_created Hook] + B --> C[Browser Instance Created] + C --> D[on_page_context_created Hook] + D --> E[Page & Context Setup] + E --> F[before_goto Hook] + F --> G[Navigate to URL] + G --> H[after_goto Hook] + H --> I[Page Loaded] + I --> J[before_retrieve_html Hook] + J --> K[Extract HTML Content] + K --> L[Return CrawlResult] + + subgraph "Hook Capabilities" + B1[Route Filtering] + B2[Authentication] + B3[Custom Headers] + B4[Viewport Setup] + B5[Content Manipulation] + end + + D --> B1 + F --> B2 + F --> B3 + D --> B4 + J --> B5 + + style A fill:#e1f5fe + style L fill:#c8e6c9 + style B fill:#fff3e0 + style D fill:#f3e5f5 + style F fill:#e8f5e8 + style H fill:#fce4ec + style J fill:#fff9c4 +``` + +### Session Management State Machine + +```mermaid +stateDiagram-v2 + [*] --> SessionCreated: session_id provided + + SessionCreated --> PageLoaded: Initial arun() + PageLoaded --> JavaScriptExecution: js_code executed + JavaScriptExecution --> ContentUpdated: DOM modified + ContentUpdated --> NextOperation: js_only=True + + NextOperation --> JavaScriptExecution: More interactions + NextOperation --> SessionMaintained: Keep session alive + NextOperation --> SessionClosed: kill_session() + + SessionMaintained --> PageLoaded: Navigate to new URL + SessionMaintained --> JavaScriptExecution: Continue interactions + + SessionClosed --> [*]: Session terminated + + note right of SessionCreated + Browser tab created + Context preserved + end note + + note right of ContentUpdated + State maintained + Cookies preserved + Local storage intact + end note + + note right of SessionClosed + Clean up resources + Release browser tab + end note +``` + +### Lazy Loading & Dynamic Content Strategy + +```mermaid +flowchart TD + A[Page Load] --> B{Content Type?} + + B -->|Static Content| C[Standard Extraction] + B -->|Lazy Loaded| D[Enable scan_full_page] + B -->|Infinite Scroll| E[Custom Scroll Strategy] + B -->|Load More Button| F[JavaScript Interaction] + + D --> D1[Automatic Scrolling] + D1 --> D2[Wait for Images] + D2 --> D3[Content Stabilization] + + E --> E1[Detect Scroll Triggers] + E1 --> E2[Progressive Loading] + E2 --> E3[Monitor Content Changes] + + F --> F1[Find Load More Button] + F1 --> F2[Click and Wait] + F2 --> F3{More Content?} + F3 -->|Yes| F1 + F3 -->|No| G[Complete Extraction] + + D3 --> G + E3 --> G + C --> G + + G --> H[Return Enhanced Content] + + subgraph "Optimization Techniques" + I[exclude_external_images] + J[image_score_threshold] + K[wait_for selectors] + L[scroll_delay tuning] + end + + D --> I + E --> J + F --> K + D1 --> L + + style A fill:#e1f5fe + style H fill:#c8e6c9 + style D fill:#fff3e0 + style E fill:#f3e5f5 + style F fill:#e8f5e8 +``` + +### Network & Console Monitoring Architecture + +```mermaid +graph TB + subgraph "Browser Context" + A[Web Page] --> B[Network Requests] + A --> C[Console Messages] + A --> D[Resource Loading] + end + + subgraph "Monitoring Layer" + B --> E[Request Interceptor] + C --> F[Console Listener] + D --> G[Resource Monitor] + + E --> H[Request Events] + E --> I[Response Events] + E --> J[Failure Events] + + F --> K[Log Messages] + F --> L[Error Messages] + F --> M[Warning Messages] + end + + subgraph "Data Collection" + H --> N[Request Details] + I --> O[Response Analysis] + J --> P[Failure Tracking] + + K --> Q[Debug Information] + L --> R[Error Analysis] + M --> S[Performance Insights] + end + + subgraph "Output Aggregation" + N --> T[network_requests Array] + O --> T + P --> T + + Q --> U[console_messages Array] + R --> U + S --> U + end + + T --> V[CrawlResult] + U --> V + + style V fill:#c8e6c9 + style E fill:#fff3e0 + style F fill:#f3e5f5 + style T fill:#e8f5e8 + style U fill:#fce4ec +``` + +### Multi-Step Workflow Sequence + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant Session + participant Page + participant Server + + User->>Crawler: Step 1 - Initial load + Crawler->>Session: Create session_id + Session->>Page: New browser tab + Page->>Server: GET /step1 + Server-->>Page: Page content + Page-->>Crawler: Content ready + Crawler-->>User: Result 1 + + User->>Crawler: Step 2 - Navigate (js_only=true) + Crawler->>Session: Reuse existing session + Session->>Page: Execute JavaScript + Page->>Page: Click next button + Page->>Server: Navigate to /step2 + Server-->>Page: New content + Page-->>Crawler: Updated content + Crawler-->>User: Result 2 + + User->>Crawler: Step 3 - Form submission + Crawler->>Session: Continue session + Session->>Page: Execute form JS + Page->>Page: Fill form fields + Page->>Server: POST form data + Server-->>Page: Results page + Page-->>Crawler: Final content + Crawler-->>User: Result 3 + + User->>Crawler: Cleanup + Crawler->>Session: kill_session() + Session->>Page: Close tab + Session-->>Crawler: Session terminated + + Note over User,Server: State preserved across steps + Note over Session: Cookies, localStorage maintained +``` + +### SSL Certificate Analysis Flow + +```mermaid +flowchart LR + A[Enable SSL Fetch] --> B[HTTPS Connection] + B --> C[Certificate Retrieval] + C --> D[Certificate Analysis] + + D --> E[Basic Info] + D --> F[Validity Check] + D --> G[Chain Verification] + D --> H[Security Assessment] + + E --> E1[Issuer Details] + E --> E2[Subject Information] + E --> E3[Serial Number] + + F --> F1[Not Before Date] + F --> F2[Not After Date] + F --> F3[Expiration Warning] + + G --> G1[Root CA] + G --> G2[Intermediate Certs] + G --> G3[Trust Path] + + H --> H1[Key Length] + H --> H2[Signature Algorithm] + H --> H3[Vulnerabilities] + + subgraph "Export Formats" + I[JSON Format] + J[PEM Format] + K[DER Format] + end + + E1 --> I + F1 --> I + G1 --> I + H1 --> I + + I --> J + J --> K + + style A fill:#e1f5fe + style D fill:#fff3e0 + style I fill:#e8f5e8 + style J fill:#f3e5f5 + style K fill:#fce4ec +``` + +### Performance Optimization Decision Tree + +```mermaid +flowchart TD + A[Performance Optimization] --> B{Primary Goal?} + + B -->|Speed| C[Fast Crawling Mode] + B -->|Resource Usage| D[Memory Optimization] + B -->|Scale| E[Batch Processing] + B -->|Quality| F[Comprehensive Extraction] + + C --> C1[text_mode=True] + C --> C2[exclude_all_images=True] + C --> C3[excluded_tags=['script','style']] + C --> C4[page_timeout=30000] + + D --> D1[light_mode=True] + D --> D2[headless=True] + D --> D3[semaphore_count=3] + D --> D4[disable monitoring] + + E --> E1[stream=True] + E --> E2[cache_mode=ENABLED] + E --> E3[arun_many()] + E --> E4[concurrent batches] + + F --> F1[wait_for_images=True] + F --> F2[process_iframes=True] + F --> F3[capture_network=True] + F --> F4[screenshot=True] + + subgraph "Trade-offs" + G[Speed vs Quality] + H[Memory vs Features] + I[Scale vs Detail] + end + + C --> G + D --> H + E --> I + + subgraph "Monitoring Metrics" + J[Response Time] + K[Memory Usage] + L[Success Rate] + M[Content Quality] + end + + C1 --> J + D1 --> K + E1 --> L + F1 --> M + + style A fill:#e1f5fe + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#f3e5f5 + style F fill:#fce4ec +``` + +### Advanced Page Interaction Matrix + +```mermaid +graph LR + subgraph "Interaction Types" + A[Form Filling] + B[Dynamic Loading] + C[Modal Handling] + D[Scroll Interactions] + E[Button Clicks] + end + + subgraph "Detection Methods" + F[CSS Selectors] + G[JavaScript Conditions] + H[Element Visibility] + I[Content Changes] + J[Network Activity] + end + + subgraph "Automation Features" + K[simulate_user=True] + L[magic=True] + M[remove_overlay_elements=True] + N[override_navigator=True] + O[scan_full_page=True] + end + + subgraph "Wait Strategies" + P[wait_for CSS] + Q[wait_for JS] + R[wait_for_images] + S[delay_before_return] + T[custom timeouts] + end + + A --> F + A --> K + A --> P + + B --> G + B --> O + B --> Q + + C --> H + C --> L + C --> M + + D --> I + D --> O + D --> S + + E --> F + E --> K + E --> T + + style A fill:#e8f5e8 + style B fill:#fff3e0 + style C fill:#f3e5f5 + style D fill:#fce4ec + style E fill:#e1f5fe +``` + +### Input Source Processing Flow + +```mermaid +flowchart TD + A[Input Source] --> B{Input Type?} + + B -->|URL| C[Web Request] + B -->|file://| D[Local File] + B -->|raw:| E[Raw HTML] + + C --> C1[HTTP/HTTPS Request] + C1 --> C2[Browser Navigation] + C2 --> C3[Page Rendering] + C3 --> F[Content Processing] + + D --> D1[File System Access] + D1 --> D2[Read HTML File] + D2 --> D3[Parse Content] + D3 --> F + + E --> E1[Parse Raw HTML] + E1 --> E2[Create Virtual Page] + E2 --> E3[Direct Processing] + E3 --> F + + F --> G[Common Processing Pipeline] + G --> H[Markdown Generation] + G --> I[Link Extraction] + G --> J[Media Processing] + G --> K[Data Extraction] + + H --> L[CrawlResult] + I --> L + J --> L + K --> L + + subgraph "Processing Features" + M[Same extraction strategies] + N[Same filtering options] + O[Same output formats] + P[Consistent results] + end + + F --> M + F --> N + F --> O + F --> P + + style A fill:#e1f5fe + style L fill:#c8e6c9 + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#f3e5f5 +``` + +**📖 Learn more:** [Advanced Features Guide](https://docs.crawl4ai.com/advanced/advanced-features/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Hooks System](https://docs.crawl4ai.com/advanced/hooks-auth/), [Performance Optimization](https://docs.crawl4ai.com/advanced/performance/) + +**📖 Learn more:** [Identity-Based Crawling](https://docs.crawl4ai.com/advanced/identity-based-crawling/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Proxy & Security](https://docs.crawl4ai.com/advanced/proxy-security/), [Content Selection](https://docs.crawl4ai.com/core/content-selection/) + +**📖 Learn more:** [Configuration Reference](https://docs.crawl4ai.com/api/parameters/), [Best Practices](https://docs.crawl4ai.com/core/browser-crawler-config/), [Advanced Configuration](https://docs.crawl4ai.com/advanced/advanced-features/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/deep_crawl_advanced_filters_scorers.txt b/docs/md_v2/assets/llm.txt/diagrams/deep_crawl_advanced_filters_scorers.txt new file mode 100644 index 00000000..368ae297 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/deep_crawl_advanced_filters_scorers.txt @@ -0,0 +1,401 @@ +## Deep Crawling Filters & Scorers Architecture + +Visual representations of advanced URL filtering, scoring strategies, and performance optimization workflows for intelligent deep crawling. + +### Filter Chain Processing Pipeline + +```mermaid +flowchart TD + A[URL Input] --> B{Domain Filter} + B -->|✓ Pass| C{Pattern Filter} + B -->|✗ Fail| X1[Reject: Invalid Domain] + + C -->|✓ Pass| D{Content Type Filter} + C -->|✗ Fail| X2[Reject: Pattern Mismatch] + + D -->|✓ Pass| E{SEO Filter} + D -->|✗ Fail| X3[Reject: Wrong Content Type] + + E -->|✓ Pass| F{Content Relevance Filter} + E -->|✗ Fail| X4[Reject: Low SEO Score] + + F -->|✓ Pass| G[URL Accepted] + F -->|✗ Fail| X5[Reject: Low Relevance] + + G --> H[Add to Crawl Queue] + + subgraph "Fast Filters" + B + C + D + end + + subgraph "Slow Filters" + E + F + end + + style A fill:#e3f2fd + style G fill:#c8e6c9 + style H fill:#e8f5e8 + style X1 fill:#ffcdd2 + style X2 fill:#ffcdd2 + style X3 fill:#ffcdd2 + style X4 fill:#ffcdd2 + style X5 fill:#ffcdd2 +``` + +### URL Scoring System Architecture + +```mermaid +graph TB + subgraph "Input URL" + A[https://python.org/tutorial/2024/ml-guide.html] + end + + subgraph "Individual Scorers" + B[Keyword Relevance Scorer] + C[Path Depth Scorer] + D[Content Type Scorer] + E[Freshness Scorer] + F[Domain Authority Scorer] + end + + subgraph "Scoring Process" + B --> B1[Keywords: python, tutorial, ml
Score: 0.85] + C --> C1[Depth: 4 levels
Optimal: 3
Score: 0.75] + D --> D1[Content: HTML
Score: 1.0] + E --> E1[Year: 2024
Score: 1.0] + F --> F1[Domain: python.org
Score: 1.0] + end + + subgraph "Composite Scoring" + G[Weighted Combination] + B1 --> G + C1 --> G + D1 --> G + E1 --> G + F1 --> G + end + + subgraph "Final Result" + H[Composite Score: 0.92] + I{Score > Threshold?} + J[Accept URL] + K[Reject URL] + end + + A --> B + A --> C + A --> D + A --> E + A --> F + + G --> H + H --> I + I -->|✓ 0.92 > 0.6| J + I -->|✗ Score too low| K + + style A fill:#e3f2fd + style G fill:#fff3e0 + style H fill:#e8f5e8 + style J fill:#c8e6c9 + style K fill:#ffcdd2 +``` + +### Filter vs Scorer Decision Matrix + +```mermaid +flowchart TD + A[URL Processing Decision] --> B{Binary Decision Needed?} + + B -->|Yes - Include/Exclude| C[Use Filters] + B -->|No - Quality Rating| D[Use Scorers] + + C --> C1{Filter Type Needed?} + C1 -->|Domain Control| C2[DomainFilter] + C1 -->|Pattern Matching| C3[URLPatternFilter] + C1 -->|Content Type| C4[ContentTypeFilter] + C1 -->|SEO Quality| C5[SEOFilter] + C1 -->|Content Relevance| C6[ContentRelevanceFilter] + + D --> D1{Scoring Criteria?} + D1 -->|Keyword Relevance| D2[KeywordRelevanceScorer] + D1 -->|URL Structure| D3[PathDepthScorer] + D1 -->|Content Quality| D4[ContentTypeScorer] + D1 -->|Time Sensitivity| D5[FreshnessScorer] + D1 -->|Source Authority| D6[DomainAuthorityScorer] + + C2 --> E[Chain Filters] + C3 --> E + C4 --> E + C5 --> E + C6 --> E + + D2 --> F[Composite Scorer] + D3 --> F + D4 --> F + D5 --> F + D6 --> F + + E --> G[Binary Output: Pass/Fail] + F --> H[Numeric Score: 0.0-1.0] + + G --> I[Apply to URL Queue] + H --> J[Priority Ranking] + + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#f3e5f5 + style F fill:#e3f2fd + style G fill:#c8e6c9 + style H fill:#ffecb3 +``` + +### Performance Optimization Strategy + +```mermaid +sequenceDiagram + participant Queue as URL Queue + participant Fast as Fast Filters + participant Slow as Slow Filters + participant Score as Scorers + participant Output as Filtered URLs + + Note over Queue, Output: Batch Processing (1000 URLs) + + Queue->>Fast: Apply Domain Filter + Fast-->>Queue: 60% passed (600 URLs) + + Queue->>Fast: Apply Pattern Filter + Fast-->>Queue: 70% passed (420 URLs) + + Queue->>Fast: Apply Content Type Filter + Fast-->>Queue: 90% passed (378 URLs) + + Note over Fast: Fast filters eliminate 62% of URLs + + Queue->>Slow: Apply SEO Filter (378 URLs) + Slow-->>Queue: 80% passed (302 URLs) + + Queue->>Slow: Apply Relevance Filter + Slow-->>Queue: 75% passed (227 URLs) + + Note over Slow: Content analysis on remaining URLs + + Queue->>Score: Calculate Composite Scores + Score-->>Queue: Scored and ranked + + Queue->>Output: Top 100 URLs by score + Output-->>Queue: Processing complete + + Note over Queue, Output: Total: 90% filtered out, 10% high-quality URLs retained +``` + +### Custom Filter Implementation Flow + +```mermaid +stateDiagram-v2 + [*] --> Planning + + Planning --> IdentifyNeeds: Define filtering criteria + IdentifyNeeds --> ChooseType: Binary vs Scoring decision + + ChooseType --> FilterImpl: Binary decision needed + ChooseType --> ScorerImpl: Quality rating needed + + FilterImpl --> InheritURLFilter: Extend URLFilter base class + ScorerImpl --> InheritURLScorer: Extend URLScorer base class + + InheritURLFilter --> ImplementApply: def apply(url) -> bool + InheritURLScorer --> ImplementScore: def _calculate_score(url) -> float + + ImplementApply --> AddLogic: Add custom filtering logic + ImplementScore --> AddLogic + + AddLogic --> TestFilter: Unit testing + TestFilter --> OptimizePerf: Performance optimization + + OptimizePerf --> Integration: Integrate with FilterChain + Integration --> Production: Deploy to production + + Production --> Monitor: Monitor performance + Monitor --> Tune: Tune parameters + Tune --> Production + + note right of Planning : Consider performance impact + note right of AddLogic : Handle edge cases + note right of OptimizePerf : Cache frequently accessed data +``` + +### Filter Chain Optimization Patterns + +```mermaid +graph TB + subgraph "Naive Approach - Poor Performance" + A1[All URLs] --> B1[Slow Filter 1] + B1 --> C1[Slow Filter 2] + C1 --> D1[Fast Filter 1] + D1 --> E1[Fast Filter 2] + E1 --> F1[Final Results] + + B1 -.->|High CPU| G1[Performance Issues] + C1 -.->|Network Calls| G1 + end + + subgraph "Optimized Approach - High Performance" + A2[All URLs] --> B2[Fast Filter 1] + B2 --> C2[Fast Filter 2] + C2 --> D2[Batch Process] + D2 --> E2[Slow Filter 1] + E2 --> F2[Slow Filter 2] + F2 --> G2[Final Results] + + D2 --> H2[Concurrent Processing] + H2 --> I2[Semaphore Control] + end + + subgraph "Performance Metrics" + J[Processing Time] + K[Memory Usage] + L[CPU Utilization] + M[Network Requests] + end + + G1 -.-> J + G1 -.-> K + G1 -.-> L + G1 -.-> M + + G2 -.-> J + G2 -.-> K + G2 -.-> L + G2 -.-> M + + style A1 fill:#ffcdd2 + style G1 fill:#ffcdd2 + style A2 fill:#c8e6c9 + style G2 fill:#c8e6c9 + style H2 fill:#e8f5e8 + style I2 fill:#e8f5e8 +``` + +### Composite Scoring Weight Distribution + +```mermaid +pie title Composite Scorer Weight Distribution + "Keyword Relevance (30%)" : 30 + "Domain Authority (25%)" : 25 + "Content Type (20%)" : 20 + "Freshness (15%)" : 15 + "Path Depth (10%)" : 10 +``` + +### Deep Crawl Integration Architecture + +```mermaid +graph TD + subgraph "Deep Crawl Strategy" + A[Start URL] --> B[Extract Links] + B --> C[Apply Filter Chain] + C --> D[Calculate Scores] + D --> E[Priority Queue] + E --> F[Crawl Next URL] + F --> B + end + + subgraph "Filter Chain Components" + C --> C1[Domain Filter] + C --> C2[Pattern Filter] + C --> C3[Content Filter] + C --> C4[SEO Filter] + C --> C5[Relevance Filter] + end + + subgraph "Scoring Components" + D --> D1[Keyword Scorer] + D --> D2[Depth Scorer] + D --> D3[Freshness Scorer] + D --> D4[Authority Scorer] + D --> D5[Composite Score] + end + + subgraph "Queue Management" + E --> E1{Score > Threshold?} + E1 -->|Yes| E2[High Priority Queue] + E1 -->|No| E3[Low Priority Queue] + E2 --> F + E3 --> G[Delayed Processing] + end + + subgraph "Control Flow" + H{Max Depth Reached?} + I{Max Pages Reached?} + J[Stop Crawling] + end + + F --> H + H -->|No| I + H -->|Yes| J + I -->|No| B + I -->|Yes| J + + style A fill:#e3f2fd + style E2 fill:#c8e6c9 + style E3 fill:#fff3e0 + style J fill:#ffcdd2 +``` + +### Filter Performance Comparison + +```mermaid +xychart-beta + title "Filter Performance Comparison (1000 URLs)" + x-axis [Domain, Pattern, ContentType, SEO, Relevance] + y-axis "Processing Time (ms)" 0 --> 1000 + bar [50, 80, 45, 300, 800] +``` + +### Scoring Algorithm Workflow + +```mermaid +flowchart TD + A[Input URL] --> B[Parse URL Components] + B --> C[Extract Features] + + C --> D[Domain Analysis] + C --> E[Path Analysis] + C --> F[Content Type Detection] + C --> G[Keyword Extraction] + C --> H[Freshness Detection] + + D --> I[Domain Authority Score] + E --> J[Path Depth Score] + F --> K[Content Type Score] + G --> L[Keyword Relevance Score] + H --> M[Freshness Score] + + I --> N[Apply Weights] + J --> N + K --> N + L --> N + M --> N + + N --> O[Normalize Scores] + O --> P[Calculate Final Score] + P --> Q{Score >= Threshold?} + + Q -->|Yes| R[Accept for Crawling] + Q -->|No| S[Reject URL] + + R --> T[Add to Priority Queue] + S --> U[Log Rejection Reason] + + style A fill:#e3f2fd + style P fill:#fff3e0 + style R fill:#c8e6c9 + style S fill:#ffcdd2 + style T fill:#e8f5e8 +``` + +**📖 Learn more:** [Deep Crawling Strategy](https://docs.crawl4ai.com/core/deep-crawling/), [Performance Optimization](https://docs.crawl4ai.com/advanced/performance-tuning/), [Custom Implementations](https://docs.crawl4ai.com/advanced/custom-filters/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/deep_crawling.txt b/docs/md_v2/assets/llm.txt/diagrams/deep_crawling.txt new file mode 100644 index 00000000..2b19cac7 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/deep_crawling.txt @@ -0,0 +1,428 @@ +## Deep Crawling Workflows and Architecture + +Visual representations of multi-level website exploration, filtering strategies, and intelligent crawling patterns. + +### Deep Crawl Strategy Overview + +```mermaid +flowchart TD + A[Start Deep Crawl] --> B{Strategy Selection} + + B -->|Explore All Levels| C[BFS Strategy] + B -->|Dive Deep Fast| D[DFS Strategy] + B -->|Smart Prioritization| E[Best-First Strategy] + + C --> C1[Breadth-First Search] + C1 --> C2[Process all depth 0 links] + C2 --> C3[Process all depth 1 links] + C3 --> C4[Continue by depth level] + + D --> D1[Depth-First Search] + D1 --> D2[Follow first link deeply] + D2 --> D3[Backtrack when max depth reached] + D3 --> D4[Continue with next branch] + + E --> E1[Best-First Search] + E1 --> E2[Score all discovered URLs] + E2 --> E3[Process highest scoring URLs first] + E3 --> E4[Continuously re-prioritize queue] + + C4 --> F[Apply Filters] + D4 --> F + E4 --> F + + F --> G{Filter Chain Processing} + G -->|Domain Filter| G1[Check allowed/blocked domains] + G -->|URL Pattern Filter| G2[Match URL patterns] + G -->|Content Type Filter| G3[Verify content types] + G -->|SEO Filter| G4[Evaluate SEO quality] + G -->|Content Relevance| G5[Score content relevance] + + G1 --> H{Passed All Filters?} + G2 --> H + G3 --> H + G4 --> H + G5 --> H + + H -->|Yes| I[Add to Crawl Queue] + H -->|No| J[Discard URL] + + I --> K{Processing Mode} + K -->|Streaming| L[Process Immediately] + K -->|Batch| M[Collect All Results] + + L --> N[Stream Result to User] + M --> O[Return Complete Result Set] + + J --> P{More URLs in Queue?} + N --> P + O --> P + + P -->|Yes| Q{Within Limits?} + P -->|No| R[Deep Crawl Complete] + + Q -->|Max Depth OK| S{Max Pages OK} + Q -->|Max Depth Exceeded| T[Skip Deeper URLs] + + S -->|Under Limit| U[Continue Crawling] + S -->|Limit Reached| R + + T --> P + U --> F + + style A fill:#e1f5fe + style R fill:#c8e6c9 + style C fill:#fff3e0 + style D fill:#f3e5f5 + style E fill:#e8f5e8 +``` + +### Deep Crawl Strategy Comparison + +```mermaid +graph TB + subgraph "BFS - Breadth-First Search" + BFS1[Level 0: Start URL] + BFS2[Level 1: All direct links] + BFS3[Level 2: All second-level links] + BFS4[Level 3: All third-level links] + + BFS1 --> BFS2 + BFS2 --> BFS3 + BFS3 --> BFS4 + + BFS_NOTE[Complete each depth before going deeper
Good for site mapping
Memory intensive for wide sites] + end + + subgraph "DFS - Depth-First Search" + DFS1[Start URL] + DFS2[First Link → Deep] + DFS3[Follow until max depth] + DFS4[Backtrack and try next] + + DFS1 --> DFS2 + DFS2 --> DFS3 + DFS3 --> DFS4 + DFS4 --> DFS2 + + DFS_NOTE[Go deep on first path
Memory efficient
May miss important pages] + end + + subgraph "Best-First - Priority Queue" + BF1[Start URL] + BF2[Score all discovered links] + BF3[Process highest scoring first] + BF4[Continuously re-prioritize] + + BF1 --> BF2 + BF2 --> BF3 + BF3 --> BF4 + BF4 --> BF2 + + BF_NOTE[Intelligent prioritization
Finds relevant content fast
Recommended for most use cases] + end + + style BFS1 fill:#e3f2fd + style DFS1 fill:#f3e5f5 + style BF1 fill:#e8f5e8 + style BFS_NOTE fill:#fff3e0 + style DFS_NOTE fill:#fff3e0 + style BF_NOTE fill:#fff3e0 +``` + +### Filter Chain Processing Sequence + +```mermaid +sequenceDiagram + participant URL as Discovered URL + participant Chain as Filter Chain + participant Domain as Domain Filter + participant Pattern as URL Pattern Filter + participant Content as Content Type Filter + participant SEO as SEO Filter + participant Relevance as Content Relevance Filter + participant Queue as Crawl Queue + + URL->>Chain: Process URL + Chain->>Domain: Check domain rules + + alt Domain Allowed + Domain-->>Chain: ✓ Pass + Chain->>Pattern: Check URL patterns + + alt Pattern Matches + Pattern-->>Chain: ✓ Pass + Chain->>Content: Check content type + + alt Content Type Valid + Content-->>Chain: ✓ Pass + Chain->>SEO: Evaluate SEO quality + + alt SEO Score Above Threshold + SEO-->>Chain: ✓ Pass + Chain->>Relevance: Score content relevance + + alt Relevance Score High + Relevance-->>Chain: ✓ Pass + Chain->>Queue: Add to crawl queue + Queue-->>URL: Queued for crawling + else Relevance Score Low + Relevance-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Low relevance + end + else SEO Score Low + SEO-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Poor SEO + end + else Invalid Content Type + Content-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Wrong content type + end + else Pattern Mismatch + Pattern-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Pattern mismatch + end + else Domain Blocked + Domain-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Blocked domain + end +``` + +### URL Lifecycle State Machine + +```mermaid +stateDiagram-v2 + [*] --> Discovered: Found on page + + Discovered --> FilterPending: Enter filter chain + + FilterPending --> DomainCheck: Apply domain filter + DomainCheck --> PatternCheck: Domain allowed + DomainCheck --> Rejected: Domain blocked + + PatternCheck --> ContentCheck: Pattern matches + PatternCheck --> Rejected: Pattern mismatch + + ContentCheck --> SEOCheck: Content type valid + ContentCheck --> Rejected: Invalid content + + SEOCheck --> RelevanceCheck: SEO score sufficient + SEOCheck --> Rejected: Poor SEO score + + RelevanceCheck --> Scored: Relevance score calculated + RelevanceCheck --> Rejected: Low relevance + + Scored --> Queued: Added to priority queue + + Queued --> Crawling: Selected for processing + Crawling --> Success: Page crawled successfully + Crawling --> Failed: Crawl failed + + Success --> LinkExtraction: Extract new links + LinkExtraction --> [*]: Process complete + + Failed --> [*]: Record failure + Rejected --> [*]: Log rejection reason + + note right of Scored : Score determines priority
in Best-First strategy + + note right of Failed : Errors logged with
depth and reason +``` + +### Streaming vs Batch Processing Architecture + +```mermaid +graph TB + subgraph "Input" + A[Start URL] --> B[Deep Crawl Strategy] + end + + subgraph "Crawl Engine" + B --> C[URL Discovery] + C --> D[Filter Chain] + D --> E[Priority Queue] + E --> F[Page Processor] + end + + subgraph "Streaming Mode stream=True" + F --> G1[Process Page] + G1 --> H1[Extract Content] + H1 --> I1[Yield Result Immediately] + I1 --> J1[async for result] + J1 --> K1[Real-time Processing] + + G1 --> L1[Extract Links] + L1 --> M1[Add to Queue] + M1 --> F + end + + subgraph "Batch Mode stream=False" + F --> G2[Process Page] + G2 --> H2[Extract Content] + H2 --> I2[Store Result] + I2 --> N2[Result Collection] + + G2 --> L2[Extract Links] + L2 --> M2[Add to Queue] + M2 --> O2{More URLs?} + O2 -->|Yes| F + O2 -->|No| P2[Return All Results] + P2 --> Q2[Batch Processing] + end + + style I1 fill:#e8f5e8 + style K1 fill:#e8f5e8 + style P2 fill:#e3f2fd + style Q2 fill:#e3f2fd +``` + +### Advanced Scoring and Prioritization System + +```mermaid +flowchart LR + subgraph "URL Discovery" + A[Page Links] --> B[Extract URLs] + B --> C[Normalize URLs] + end + + subgraph "Scoring System" + C --> D[Keyword Relevance Scorer] + D --> D1[URL Text Analysis] + D --> D2[Keyword Matching] + D --> D3[Calculate Base Score] + + D3 --> E[Additional Scoring Factors] + E --> E1[URL Structure weight: 0.2] + E --> E2[Link Context weight: 0.3] + E --> E3[Page Depth Penalty weight: 0.1] + E --> E4[Domain Authority weight: 0.4] + + D1 --> F[Combined Score] + D2 --> F + D3 --> F + E1 --> F + E2 --> F + E3 --> F + E4 --> F + end + + subgraph "Prioritization" + F --> G{Score Threshold} + G -->|Above Threshold| H[Priority Queue] + G -->|Below Threshold| I[Discard URL] + + H --> J[Best-First Selection] + J --> K[Highest Score First] + K --> L[Process Page] + + L --> M[Update Scores] + M --> N[Re-prioritize Queue] + N --> J + end + + style F fill:#fff3e0 + style H fill:#e8f5e8 + style L fill:#e3f2fd +``` + +### Deep Crawl Performance and Limits + +```mermaid +graph TD + subgraph "Crawl Constraints" + A[Max Depth: 2] --> A1[Prevents infinite crawling] + B[Max Pages: 50] --> B1[Controls resource usage] + C[Score Threshold: 0.3] --> C1[Quality filtering] + D[Domain Limits] --> D1[Scope control] + end + + subgraph "Performance Monitoring" + E[Pages Crawled] --> F[Depth Distribution] + E --> G[Success Rate] + E --> H[Average Score] + E --> I[Processing Time] + + F --> J[Performance Report] + G --> J + H --> J + I --> J + end + + subgraph "Resource Management" + K[Memory Usage] --> L{Memory Threshold} + L -->|Under Limit| M[Continue Crawling] + L -->|Over Limit| N[Reduce Concurrency] + + O[CPU Usage] --> P{CPU Threshold} + P -->|Normal| M + P -->|High| Q[Add Delays] + + R[Network Load] --> S{Rate Limits} + S -->|OK| M + S -->|Exceeded| T[Throttle Requests] + end + + M --> U[Optimal Performance] + N --> V[Reduced Performance] + Q --> V + T --> V + + style U fill:#c8e6c9 + style V fill:#fff3e0 + style J fill:#e3f2fd +``` + +### Error Handling and Recovery Flow + +```mermaid +sequenceDiagram + participant Strategy as Deep Crawl Strategy + participant Queue as Priority Queue + participant Crawler as Page Crawler + participant Error as Error Handler + participant Result as Result Collector + + Strategy->>Queue: Get next URL + Queue-->>Strategy: Return highest priority URL + + Strategy->>Crawler: Crawl page + + alt Successful Crawl + Crawler-->>Strategy: Return page content + Strategy->>Result: Store successful result + Strategy->>Strategy: Extract new links + Strategy->>Queue: Add new URLs to queue + else Network Error + Crawler-->>Error: Network timeout/failure + Error->>Error: Log error with details + Error->>Queue: Mark URL as failed + Error-->>Strategy: Skip to next URL + else Parse Error + Crawler-->>Error: HTML parsing failed + Error->>Error: Log parse error + Error->>Result: Store failed result + Error-->>Strategy: Continue with next URL + else Rate Limit Hit + Crawler-->>Error: Rate limit exceeded + Error->>Error: Apply backoff strategy + Error->>Queue: Re-queue URL with delay + Error-->>Strategy: Wait before retry + else Depth Limit + Strategy->>Strategy: Check depth constraint + Strategy-->>Queue: Skip URL - too deep + else Page Limit + Strategy->>Strategy: Check page count + Strategy-->>Result: Stop crawling - limit reached + end + + Strategy->>Queue: Request next URL + Queue-->>Strategy: More URLs available? + + alt Queue Empty + Queue-->>Result: Crawl complete + else Queue Has URLs + Queue-->>Strategy: Continue crawling + end +``` + +**📖 Learn more:** [Deep Crawling Strategies](https://docs.crawl4ai.com/core/deep-crawling/), [Content Filtering](https://docs.crawl4ai.com/core/content-selection/), [Advanced Crawling Patterns](https://docs.crawl4ai.com/advanced/advanced-features/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/docker.txt b/docs/md_v2/assets/llm.txt/diagrams/docker.txt new file mode 100644 index 00000000..b61801b9 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/docker.txt @@ -0,0 +1,603 @@ +## Docker Deployment Architecture and Workflows + +Visual representations of Crawl4AI Docker deployment, API architecture, configuration management, and service interactions. + +### Docker Deployment Decision Flow + +```mermaid +flowchart TD + A[Start Docker Deployment] --> B{Deployment Type?} + + B -->|Quick Start| C[Pre-built Image] + B -->|Development| D[Docker Compose] + B -->|Custom Build| E[Manual Build] + B -->|Production| F[Production Setup] + + C --> C1[docker pull unclecode/crawl4ai] + C1 --> C2{Need LLM Support?} + C2 -->|Yes| C3[Setup .llm.env] + C2 -->|No| C4[Basic run] + C3 --> C5[docker run with --env-file] + C4 --> C6[docker run basic] + + D --> D1[git clone repository] + D1 --> D2[cp .llm.env.example .llm.env] + D2 --> D3{Build Type?} + D3 -->|Pre-built| D4[IMAGE=latest docker compose up] + D3 -->|Local Build| D5[docker compose up --build] + D3 -->|All Features| D6[INSTALL_TYPE=all docker compose up] + + E --> E1[docker buildx build] + E1 --> E2{Architecture?} + E2 -->|Single| E3[--platform linux/amd64] + E2 -->|Multi| E4[--platform linux/amd64,linux/arm64] + E3 --> E5[Build complete] + E4 --> E5 + + F --> F1[Production configuration] + F1 --> F2[Custom config.yml] + F2 --> F3[Resource limits] + F3 --> F4[Health monitoring] + F4 --> F5[Production ready] + + C5 --> G[Service running on :11235] + C6 --> G + D4 --> G + D5 --> G + D6 --> G + E5 --> H[docker run custom image] + H --> G + F5 --> I[Production deployment] + + G --> J[Access playground at /playground] + G --> K[Health check at /health] + I --> L[Production monitoring] + + style A fill:#e1f5fe + style G fill:#c8e6c9 + style I fill:#c8e6c9 + style J fill:#fff3e0 + style K fill:#fff3e0 + style L fill:#e8f5e8 +``` + +### Docker Container Architecture + +```mermaid +graph TB + subgraph "Host Environment" + A[Docker Engine] --> B[Crawl4AI Container] + C[.llm.env] --> B + D[Custom config.yml] --> B + E[Port 11235] --> B + F[Shared Memory 1GB+] --> B + end + + subgraph "Container Services" + B --> G[FastAPI Server :8020] + B --> H[Gunicorn WSGI] + B --> I[Supervisord Process Manager] + B --> J[Redis Cache :6379] + + G --> K[REST API Endpoints] + G --> L[WebSocket Connections] + G --> M[MCP Protocol] + + H --> N[Worker Processes] + I --> O[Service Monitoring] + J --> P[Request Caching] + end + + subgraph "Browser Management" + B --> Q[Playwright Framework] + Q --> R[Chromium Browser] + Q --> S[Firefox Browser] + Q --> T[WebKit Browser] + + R --> U[Browser Pool] + S --> U + T --> U + + U --> V[Page Sessions] + U --> W[Context Management] + end + + subgraph "External Services" + X[OpenAI API] -.-> K + Y[Anthropic Claude] -.-> K + Z[Local Ollama] -.-> K + AA[Groq API] -.-> K + BB[Google Gemini] -.-> K + end + + subgraph "Client Interactions" + CC[Python SDK] --> K + DD[REST API Calls] --> K + EE[MCP Clients] --> M + FF[Web Browser] --> G + GG[Monitoring Tools] --> K + end + + style B fill:#e3f2fd + style G fill:#f3e5f5 + style Q fill:#e8f5e8 + style K fill:#fff3e0 +``` + +### API Endpoints Architecture + +```mermaid +graph LR + subgraph "Core Endpoints" + A[/crawl] --> A1[Single URL crawl] + A2[/crawl/stream] --> A3[Streaming multi-URL] + A4[/crawl/job] --> A5[Async job submission] + A6[/crawl/job/{id}] --> A7[Job status check] + end + + subgraph "Specialized Endpoints" + B[/html] --> B1[Preprocessed HTML] + B2[/screenshot] --> B3[PNG capture] + B4[/pdf] --> B5[PDF generation] + B6[/execute_js] --> B7[JavaScript execution] + B8[/md] --> B9[Markdown extraction] + end + + subgraph "Utility Endpoints" + C[/health] --> C1[Service status] + C2[/metrics] --> C3[Prometheus metrics] + C4[/schema] --> C5[API documentation] + C6[/playground] --> C7[Interactive testing] + end + + subgraph "LLM Integration" + D[/llm/{url}] --> D1[Q&A over URL] + D2[/ask] --> D3[Library context search] + D4[/config/dump] --> D5[Config validation] + end + + subgraph "MCP Protocol" + E[/mcp/sse] --> E1[Server-Sent Events] + E2[/mcp/ws] --> E3[WebSocket connection] + E4[/mcp/schema] --> E5[MCP tool definitions] + end + + style A fill:#e3f2fd + style B fill:#f3e5f5 + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#fce4ec +``` + +### Request Processing Flow + +```mermaid +sequenceDiagram + participant Client + participant FastAPI + participant RequestValidator + participant BrowserPool + participant Playwright + participant ExtractionEngine + participant LLMProvider + + Client->>FastAPI: POST /crawl with config + FastAPI->>RequestValidator: Validate JSON structure + + alt Valid Request + RequestValidator-->>FastAPI: ✓ Validated + FastAPI->>BrowserPool: Request browser instance + BrowserPool->>Playwright: Launch browser/reuse session + Playwright-->>BrowserPool: Browser ready + BrowserPool-->>FastAPI: Browser allocated + + FastAPI->>Playwright: Navigate to URL + Playwright->>Playwright: Execute JS, wait conditions + Playwright-->>FastAPI: Page content ready + + FastAPI->>ExtractionEngine: Process content + + alt LLM Extraction + ExtractionEngine->>LLMProvider: Send content + schema + LLMProvider-->>ExtractionEngine: Structured data + else CSS Extraction + ExtractionEngine->>ExtractionEngine: Apply CSS selectors + end + + ExtractionEngine-->>FastAPI: Extraction complete + FastAPI->>BrowserPool: Release browser + FastAPI-->>Client: CrawlResult response + + else Invalid Request + RequestValidator-->>FastAPI: ✗ Validation error + FastAPI-->>Client: 400 Bad Request + end +``` + +### Configuration Management Flow + +```mermaid +stateDiagram-v2 + [*] --> ConfigLoading + + ConfigLoading --> DefaultConfig: Load default config.yml + ConfigLoading --> CustomConfig: Custom config mounted + ConfigLoading --> EnvOverrides: Environment variables + + DefaultConfig --> ConfigMerging + CustomConfig --> ConfigMerging + EnvOverrides --> ConfigMerging + + ConfigMerging --> ConfigValidation + + ConfigValidation --> Valid: Schema validation passes + ConfigValidation --> Invalid: Validation errors + + Invalid --> ConfigError: Log errors and exit + ConfigError --> [*] + + Valid --> ServiceInitialization + ServiceInitialization --> FastAPISetup + ServiceInitialization --> BrowserPoolInit + ServiceInitialization --> CacheSetup + + FastAPISetup --> Running + BrowserPoolInit --> Running + CacheSetup --> Running + + Running --> ConfigReload: Config change detected + ConfigReload --> ConfigValidation + + Running --> [*]: Service shutdown + + note right of ConfigMerging : Priority: ENV > Custom > Default + note right of ServiceInitialization : All services must initialize successfully +``` + +### Multi-Architecture Build Process + +```mermaid +flowchart TD + A[Developer Push] --> B[GitHub Repository] + + B --> C[Docker Buildx] + C --> D{Build Strategy} + + D -->|Multi-arch| E[Parallel Builds] + D -->|Single-arch| F[Platform-specific Build] + + E --> G[AMD64 Build] + E --> H[ARM64 Build] + + F --> I[Target Platform Build] + + subgraph "AMD64 Build Process" + G --> G1[Ubuntu base image] + G1 --> G2[Python 3.11 install] + G2 --> G3[System dependencies] + G3 --> G4[Crawl4AI installation] + G4 --> G5[Playwright setup] + G5 --> G6[FastAPI configuration] + G6 --> G7[AMD64 image ready] + end + + subgraph "ARM64 Build Process" + H --> H1[Ubuntu ARM64 base] + H1 --> H2[Python 3.11 install] + H2 --> H3[ARM-specific deps] + H3 --> H4[Crawl4AI installation] + H4 --> H5[Playwright setup] + H5 --> H6[FastAPI configuration] + H6 --> H7[ARM64 image ready] + end + + subgraph "Single Architecture" + I --> I1[Base image selection] + I1 --> I2[Platform dependencies] + I2 --> I3[Application setup] + I3 --> I4[Platform image ready] + end + + G7 --> J[Multi-arch Manifest] + H7 --> J + I4 --> K[Platform Image] + + J --> L[Docker Hub Registry] + K --> L + + L --> M[Pull Request Auto-selects Architecture] + + style A fill:#e1f5fe + style J fill:#c8e6c9 + style K fill:#c8e6c9 + style L fill:#f3e5f5 + style M fill:#e8f5e8 +``` + +### MCP Integration Architecture + +```mermaid +graph TB + subgraph "MCP Client Applications" + A[Claude Code] --> B[MCP Protocol] + C[Cursor IDE] --> B + D[Windsurf] --> B + E[Custom MCP Client] --> B + end + + subgraph "Crawl4AI MCP Server" + B --> F[MCP Endpoint Router] + F --> G[SSE Transport /mcp/sse] + F --> H[WebSocket Transport /mcp/ws] + F --> I[Schema Endpoint /mcp/schema] + + G --> J[MCP Tool Handler] + H --> J + + J --> K[Tool: md] + J --> L[Tool: html] + J --> M[Tool: screenshot] + J --> N[Tool: pdf] + J --> O[Tool: execute_js] + J --> P[Tool: crawl] + J --> Q[Tool: ask] + end + + subgraph "Crawl4AI Core Services" + K --> R[Markdown Generator] + L --> S[HTML Preprocessor] + M --> T[Screenshot Service] + N --> U[PDF Generator] + O --> V[JavaScript Executor] + P --> W[Batch Crawler] + Q --> X[Context Search] + + R --> Y[Browser Pool] + S --> Y + T --> Y + U --> Y + V --> Y + W --> Y + X --> Z[Knowledge Base] + end + + subgraph "External Resources" + Y --> AA[Playwright Browsers] + Z --> BB[Library Documentation] + Z --> CC[Code Examples] + AA --> DD[Web Pages] + end + + style B fill:#e3f2fd + style J fill:#f3e5f5 + style Y fill:#e8f5e8 + style Z fill:#fff3e0 +``` + +### API Request/Response Flow Patterns + +```mermaid +sequenceDiagram + participant Client + participant LoadBalancer + participant FastAPI + participant ConfigValidator + participant BrowserManager + participant CrawlEngine + participant ResponseBuilder + + Note over Client,ResponseBuilder: Basic Crawl Request + + Client->>LoadBalancer: POST /crawl + LoadBalancer->>FastAPI: Route request + + FastAPI->>ConfigValidator: Validate browser_config + ConfigValidator-->>FastAPI: ✓ Valid BrowserConfig + + FastAPI->>ConfigValidator: Validate crawler_config + ConfigValidator-->>FastAPI: ✓ Valid CrawlerRunConfig + + FastAPI->>BrowserManager: Allocate browser + BrowserManager-->>FastAPI: Browser instance + + FastAPI->>CrawlEngine: Execute crawl + + Note over CrawlEngine: Page processing + CrawlEngine->>CrawlEngine: Navigate & wait + CrawlEngine->>CrawlEngine: Extract content + CrawlEngine->>CrawlEngine: Apply strategies + + CrawlEngine-->>FastAPI: CrawlResult + + FastAPI->>ResponseBuilder: Format response + ResponseBuilder-->>FastAPI: JSON response + + FastAPI->>BrowserManager: Release browser + FastAPI-->>LoadBalancer: Response ready + LoadBalancer-->>Client: 200 OK + CrawlResult + + Note over Client,ResponseBuilder: Streaming Request + + Client->>FastAPI: POST /crawl/stream + FastAPI-->>Client: 200 OK (stream start) + + loop For each URL + FastAPI->>CrawlEngine: Process URL + CrawlEngine-->>FastAPI: Result ready + FastAPI-->>Client: NDJSON line + end + + FastAPI-->>Client: Stream completed +``` + +### Configuration Validation Workflow + +```mermaid +flowchart TD + A[Client Request] --> B[JSON Payload] + B --> C{Pre-validation} + + C -->|✓ Valid JSON| D[Extract Configurations] + C -->|✗ Invalid JSON| E[Return 400 Bad Request] + + D --> F[BrowserConfig Validation] + D --> G[CrawlerRunConfig Validation] + + F --> H{BrowserConfig Valid?} + G --> I{CrawlerRunConfig Valid?} + + H -->|✓ Valid| J[Browser Setup] + H -->|✗ Invalid| K[Log Browser Config Errors] + + I -->|✓ Valid| L[Crawler Setup] + I -->|✗ Invalid| M[Log Crawler Config Errors] + + K --> N[Collect All Errors] + M --> N + N --> O[Return 422 Validation Error] + + J --> P{Both Configs Valid?} + L --> P + + P -->|✓ Yes| Q[Proceed to Crawling] + P -->|✗ No| O + + Q --> R[Execute Crawl Pipeline] + R --> S[Return CrawlResult] + + E --> T[Client Error Response] + O --> T + S --> U[Client Success Response] + + style A fill:#e1f5fe + style Q fill:#c8e6c9 + style S fill:#c8e6c9 + style U fill:#c8e6c9 + style E fill:#ffcdd2 + style O fill:#ffcdd2 + style T fill:#ffcdd2 +``` + +### Production Deployment Architecture + +```mermaid +graph TB + subgraph "Load Balancer Layer" + A[NGINX/HAProxy] --> B[Health Check] + A --> C[Request Routing] + A --> D[SSL Termination] + end + + subgraph "Application Layer" + C --> E[Crawl4AI Instance 1] + C --> F[Crawl4AI Instance 2] + C --> G[Crawl4AI Instance N] + + E --> H[FastAPI Server] + F --> I[FastAPI Server] + G --> J[FastAPI Server] + + H --> K[Browser Pool 1] + I --> L[Browser Pool 2] + J --> M[Browser Pool N] + end + + subgraph "Shared Services" + N[Redis Cluster] --> E + N --> F + N --> G + + O[Monitoring Stack] --> P[Prometheus] + O --> Q[Grafana] + O --> R[AlertManager] + + P --> E + P --> F + P --> G + end + + subgraph "External Dependencies" + S[OpenAI API] -.-> H + T[Anthropic API] -.-> I + U[Local LLM Cluster] -.-> J + end + + subgraph "Persistent Storage" + V[Configuration Volume] --> E + V --> F + V --> G + + W[Cache Volume] --> N + X[Logs Volume] --> O + end + + style A fill:#e3f2fd + style E fill:#f3e5f5 + style F fill:#f3e5f5 + style G fill:#f3e5f5 + style N fill:#e8f5e8 + style O fill:#fff3e0 +``` + +### Docker Resource Management + +```mermaid +graph TD + subgraph "Resource Allocation" + A[Host Resources] --> B[CPU Cores] + A --> C[Memory GB] + A --> D[Disk Space] + A --> E[Network Bandwidth] + + B --> F[Container Limits] + C --> F + D --> F + E --> F + end + + subgraph "Container Configuration" + F --> G[--cpus=4] + F --> H[--memory=8g] + F --> I[--shm-size=2g] + F --> J[Volume Mounts] + + G --> K[Browser Processes] + H --> L[Browser Memory] + I --> M[Shared Memory for Browsers] + J --> N[Config & Cache Storage] + end + + subgraph "Monitoring & Scaling" + O[Resource Monitor] --> P[CPU Usage %] + O --> Q[Memory Usage %] + O --> R[Request Queue Length] + + P --> S{CPU > 80%?} + Q --> T{Memory > 90%?} + R --> U{Queue > 100?} + + S -->|Yes| V[Scale Up] + T -->|Yes| V + U -->|Yes| V + + V --> W[Add Container Instance] + W --> X[Update Load Balancer] + end + + subgraph "Performance Optimization" + Y[Browser Pool Tuning] --> Z[Max Pages: 40] + Y --> AA[Idle TTL: 30min] + Y --> BB[Concurrency Limits] + + Z --> CC[Memory Efficiency] + AA --> DD[Resource Cleanup] + BB --> EE[Throughput Control] + end + + style A fill:#e1f5fe + style F fill:#f3e5f5 + style O fill:#e8f5e8 + style Y fill:#fff3e0 +``` + +**📖 Learn more:** [Docker Deployment Guide](https://docs.crawl4ai.com/core/docker-deployment/), [API Reference](https://docs.crawl4ai.com/api/), [MCP Integration](https://docs.crawl4ai.com/core/docker-deployment/#mcp-model-context-protocol-support), [Production Configuration](https://docs.crawl4ai.com/core/docker-deployment/#production-deployment) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/extraction.txt b/docs/md_v2/assets/llm.txt/diagrams/extraction.txt new file mode 100644 index 00000000..a4d7e360 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/extraction.txt @@ -0,0 +1,478 @@ +## Extraction Strategy Workflows and Architecture + +Visual representations of Crawl4AI's data extraction approaches, strategy selection, and processing workflows. + +### Extraction Strategy Decision Tree + +```mermaid +flowchart TD + A[Content to Extract] --> B{Content Type?} + + B -->|Simple Patterns| C[Common Data Types] + B -->|Structured HTML| D[Predictable Structure] + B -->|Complex Content| E[Requires Reasoning] + B -->|Mixed Content| F[Multiple Data Types] + + C --> C1{Pattern Type?} + C1 -->|Email, Phone, URLs| C2[Built-in Regex Patterns] + C1 -->|Custom Patterns| C3[Custom Regex Strategy] + C1 -->|LLM-Generated| C4[One-time Pattern Generation] + + D --> D1{Selector Type?} + D1 -->|CSS Selectors| D2[JsonCssExtractionStrategy] + D1 -->|XPath Expressions| D3[JsonXPathExtractionStrategy] + D1 -->|Need Schema?| D4[Auto-generate Schema with LLM] + + E --> E1{LLM Provider?} + E1 -->|OpenAI/Anthropic| E2[Cloud LLM Strategy] + E1 -->|Local Ollama| E3[Local LLM Strategy] + E1 -->|Cost-sensitive| E4[Hybrid: Generate Schema Once] + + F --> F1[Multi-Strategy Approach] + F1 --> F2[1. Regex for Patterns] + F1 --> F3[2. CSS for Structure] + F1 --> F4[3. LLM for Complex Analysis] + + C2 --> G[Fast Extraction ⚡] + C3 --> G + C4 --> H[Cached Pattern Reuse] + + D2 --> I[Schema-based Extraction 🏗️] + D3 --> I + D4 --> J[Generated Schema Cache] + + E2 --> K[Intelligent Parsing 🧠] + E3 --> K + E4 --> L[Hybrid Cost-Effective] + + F2 --> M[Comprehensive Results 📊] + F3 --> M + F4 --> M + + style G fill:#c8e6c9 + style I fill:#e3f2fd + style K fill:#fff3e0 + style M fill:#f3e5f5 + style H fill:#e8f5e8 + style J fill:#e8f5e8 + style L fill:#ffecb3 +``` + +### LLM Extraction Strategy Workflow + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant LLMStrategy + participant Chunker + participant LLMProvider + participant Parser + + User->>Crawler: Configure LLMExtractionStrategy + User->>Crawler: arun(url, config) + + Crawler->>Crawler: Navigate to URL + Crawler->>Crawler: Extract content (HTML/Markdown) + Crawler->>LLMStrategy: Process content + + LLMStrategy->>LLMStrategy: Check content size + + alt Content > chunk_threshold + LLMStrategy->>Chunker: Split into chunks with overlap + Chunker-->>LLMStrategy: Return chunks[] + + loop For each chunk + LLMStrategy->>LLMProvider: Send chunk + schema + instruction + LLMProvider-->>LLMStrategy: Return structured JSON + end + + LLMStrategy->>LLMStrategy: Merge chunk results + else Content <= threshold + LLMStrategy->>LLMProvider: Send full content + schema + LLMProvider-->>LLMStrategy: Return structured JSON + end + + LLMStrategy->>Parser: Validate JSON schema + Parser-->>LLMStrategy: Validated data + + LLMStrategy->>LLMStrategy: Track token usage + LLMStrategy-->>Crawler: Return extracted_content + + Crawler-->>User: CrawlResult with JSON data + + User->>LLMStrategy: show_usage() + LLMStrategy-->>User: Token count & estimated cost +``` + +### Schema-Based Extraction Architecture + +```mermaid +graph TB + subgraph "Schema Definition" + A[JSON Schema] --> A1[baseSelector] + A --> A2[fields[]] + A --> A3[nested structures] + + A2 --> A4[CSS/XPath selectors] + A2 --> A5[Data types: text, html, attribute] + A2 --> A6[Default values] + + A3 --> A7[nested objects] + A3 --> A8[nested_list arrays] + A3 --> A9[simple lists] + end + + subgraph "Extraction Engine" + B[HTML Content] --> C[Selector Engine] + C --> C1[CSS Selector Parser] + C --> C2[XPath Evaluator] + + C1 --> D[Element Matcher] + C2 --> D + + D --> E[Type Converter] + E --> E1[Text Extraction] + E --> E2[HTML Preservation] + E --> E3[Attribute Extraction] + E --> E4[Nested Processing] + end + + subgraph "Result Processing" + F[Raw Extracted Data] --> G[Structure Builder] + G --> G1[Object Construction] + G --> G2[Array Assembly] + G --> G3[Type Validation] + + G1 --> H[JSON Output] + G2 --> H + G3 --> H + end + + A --> C + E --> F + H --> I[extracted_content] + + style A fill:#e3f2fd + style C fill:#f3e5f5 + style G fill:#e8f5e8 + style H fill:#c8e6c9 +``` + +### Automatic Schema Generation Process + +```mermaid +stateDiagram-v2 + [*] --> CheckCache + + CheckCache --> CacheHit: Schema exists + CheckCache --> SamplePage: Schema missing + + CacheHit --> LoadSchema + LoadSchema --> FastExtraction + + SamplePage --> ExtractHTML: Crawl sample URL + ExtractHTML --> LLMAnalysis: Send HTML to LLM + LLMAnalysis --> GenerateSchema: Create CSS/XPath selectors + GenerateSchema --> ValidateSchema: Test generated schema + + ValidateSchema --> SchemaWorks: Valid selectors + ValidateSchema --> RefineSchema: Invalid selectors + + RefineSchema --> LLMAnalysis: Iterate with feedback + + SchemaWorks --> CacheSchema: Save for reuse + CacheSchema --> FastExtraction: Use cached schema + + FastExtraction --> [*]: No more LLM calls needed + + note right of CheckCache : One-time LLM cost + note right of FastExtraction : Unlimited fast reuse + note right of CacheSchema : JSON file storage +``` + +### Multi-Strategy Extraction Pipeline + +```mermaid +flowchart LR + A[Web Page Content] --> B[Strategy Pipeline] + + subgraph B["Extraction Pipeline"] + B1[Stage 1: Regex Patterns] + B2[Stage 2: Schema-based CSS] + B3[Stage 3: LLM Analysis] + + B1 --> B1a[Email addresses] + B1 --> B1b[Phone numbers] + B1 --> B1c[URLs and links] + B1 --> B1d[Currency amounts] + + B2 --> B2a[Structured products] + B2 --> B2b[Article metadata] + B2 --> B2c[User reviews] + B2 --> B2d[Navigation links] + + B3 --> B3a[Sentiment analysis] + B3 --> B3b[Key topics] + B3 --> B3c[Entity recognition] + B3 --> B3d[Content summary] + end + + B1a --> C[Result Merger] + B1b --> C + B1c --> C + B1d --> C + + B2a --> C + B2b --> C + B2c --> C + B2d --> C + + B3a --> C + B3b --> C + B3c --> C + B3d --> C + + C --> D[Combined JSON Output] + D --> E[Final CrawlResult] + + style B1 fill:#c8e6c9 + style B2 fill:#e3f2fd + style B3 fill:#fff3e0 + style C fill:#f3e5f5 +``` + +### Performance Comparison Matrix + +```mermaid +graph TD + subgraph "Strategy Performance" + A[Extraction Strategy Comparison] + + subgraph "Speed ⚡" + S1[Regex: ~10ms] + S2[CSS Schema: ~50ms] + S3[XPath: ~100ms] + S4[LLM: ~2-10s] + end + + subgraph "Accuracy 🎯" + A1[Regex: Pattern-dependent] + A2[CSS: High for structured] + A3[XPath: Very high] + A4[LLM: Excellent for complex] + end + + subgraph "Cost 💰" + C1[Regex: Free] + C2[CSS: Free] + C3[XPath: Free] + C4[LLM: $0.001-0.01 per page] + end + + subgraph "Complexity 🔧" + X1[Regex: Simple patterns only] + X2[CSS: Structured HTML] + X3[XPath: Complex selectors] + X4[LLM: Any content type] + end + end + + style S1 fill:#c8e6c9 + style S2 fill:#e8f5e8 + style S3 fill:#fff3e0 + style S4 fill:#ffcdd2 + + style A2 fill:#e8f5e8 + style A3 fill:#c8e6c9 + style A4 fill:#c8e6c9 + + style C1 fill:#c8e6c9 + style C2 fill:#c8e6c9 + style C3 fill:#c8e6c9 + style C4 fill:#fff3e0 + + style X1 fill:#ffcdd2 + style X2 fill:#e8f5e8 + style X3 fill:#c8e6c9 + style X4 fill:#c8e6c9 +``` + +### Regex Pattern Strategy Flow + +```mermaid +flowchart TD + A[Regex Extraction] --> B{Pattern Source?} + + B -->|Built-in| C[Use Predefined Patterns] + B -->|Custom| D[Define Custom Regex] + B -->|LLM-Generated| E[Generate with AI] + + C --> C1[Email Pattern] + C --> C2[Phone Pattern] + C --> C3[URL Pattern] + C --> C4[Currency Pattern] + C --> C5[Date Pattern] + + D --> D1[Write Custom Regex] + D --> D2[Test Pattern] + D --> D3{Pattern Works?} + D3 -->|No| D1 + D3 -->|Yes| D4[Use Pattern] + + E --> E1[Provide Sample Content] + E --> E2[LLM Analyzes Content] + E --> E3[Generate Optimized Regex] + E --> E4[Cache Pattern for Reuse] + + C1 --> F[Pattern Matching] + C2 --> F + C3 --> F + C4 --> F + C5 --> F + D4 --> F + E4 --> F + + F --> G[Extract Matches] + G --> H[Group by Pattern Type] + H --> I[JSON Output with Labels] + + style C fill:#e8f5e8 + style D fill:#e3f2fd + style E fill:#fff3e0 + style F fill:#f3e5f5 +``` + +### Complex Schema Structure Visualization + +```mermaid +graph TB + subgraph "E-commerce Schema Example" + A[Category baseSelector] --> B[Category Fields] + A --> C[Products nested_list] + + B --> B1[category_name] + B --> B2[category_id attribute] + B --> B3[category_url attribute] + + C --> C1[Product baseSelector] + C1 --> C2[name text] + C1 --> C3[price text] + C1 --> C4[Details nested object] + C1 --> C5[Features list] + C1 --> C6[Reviews nested_list] + + C4 --> C4a[brand text] + C4 --> C4b[model text] + C4 --> C4c[specs html] + + C5 --> C5a[feature text array] + + C6 --> C6a[reviewer text] + C6 --> C6b[rating attribute] + C6 --> C6c[comment text] + C6 --> C6d[date attribute] + end + + subgraph "JSON Output Structure" + D[categories array] --> D1[category object] + D1 --> D2[category_name] + D1 --> D3[category_id] + D1 --> D4[products array] + + D4 --> D5[product object] + D5 --> D6[name, price] + D5 --> D7[details object] + D5 --> D8[features array] + D5 --> D9[reviews array] + + D7 --> D7a[brand, model, specs] + D8 --> D8a[feature strings] + D9 --> D9a[review objects] + end + + A -.-> D + B1 -.-> D2 + C2 -.-> D6 + C4 -.-> D7 + C5 -.-> D8 + C6 -.-> D9 + + style A fill:#e3f2fd + style C fill:#f3e5f5 + style C4 fill:#e8f5e8 + style D fill:#fff3e0 +``` + +### Error Handling and Fallback Strategy + +```mermaid +stateDiagram-v2 + [*] --> PrimaryStrategy + + PrimaryStrategy --> Success: Extraction successful + PrimaryStrategy --> ValidationFailed: Invalid data + PrimaryStrategy --> ExtractionFailed: No matches found + PrimaryStrategy --> TimeoutError: LLM timeout + + ValidationFailed --> FallbackStrategy: Try alternative + ExtractionFailed --> FallbackStrategy: Try alternative + TimeoutError --> FallbackStrategy: Try alternative + + FallbackStrategy --> FallbackSuccess: Fallback works + FallbackStrategy --> FallbackFailed: All strategies failed + + FallbackSuccess --> Success: Return results + FallbackFailed --> ErrorReport: Log failure details + + Success --> [*]: Complete + ErrorReport --> [*]: Return empty results + + note right of PrimaryStrategy : Try fastest/most accurate first + note right of FallbackStrategy : Use simpler but reliable method + note left of ErrorReport : Provide debugging information +``` + +### Token Usage and Cost Optimization + +```mermaid +flowchart TD + A[LLM Extraction Request] --> B{Content Size Check} + + B -->|Small < 1200 tokens| C[Single LLM Call] + B -->|Large > 1200 tokens| D[Chunking Strategy] + + C --> C1[Send full content] + C1 --> C2[Parse JSON response] + C2 --> C3[Track token usage] + + D --> D1[Split into chunks] + D1 --> D2[Add overlap between chunks] + D2 --> D3[Process chunks in parallel] + + D3 --> D4[Chunk 1 → LLM] + D3 --> D5[Chunk 2 → LLM] + D3 --> D6[Chunk N → LLM] + + D4 --> D7[Merge results] + D5 --> D7 + D6 --> D7 + + D7 --> D8[Deduplicate data] + D8 --> D9[Aggregate token usage] + + C3 --> E[Cost Calculation] + D9 --> E + + E --> F[Usage Report] + F --> F1[Prompt tokens: X] + F --> F2[Completion tokens: Y] + F --> F3[Total cost: $Z] + + style C fill:#c8e6c9 + style D fill:#fff3e0 + style E fill:#e3f2fd + style F fill:#f3e5f5 +``` + +**📖 Learn more:** [LLM Strategies](https://docs.crawl4ai.com/extraction/llm-strategies/), [Schema-Based Extraction](https://docs.crawl4ai.com/extraction/no-llm-strategies/), [Pattern Matching](https://docs.crawl4ai.com/extraction/no-llm-strategies/#regexextractionstrategy), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/http_based_crawler_strategy.txt b/docs/md_v2/assets/llm.txt/diagrams/http_based_crawler_strategy.txt new file mode 100644 index 00000000..60950792 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/http_based_crawler_strategy.txt @@ -0,0 +1,472 @@ +## HTTP Crawler Strategy Workflows + +Visual representations of HTTP-based crawling architecture, request flows, and performance characteristics compared to browser-based strategies. + +### HTTP vs Browser Strategy Decision Tree + +```mermaid +flowchart TD + A[Content Crawling Need] --> B{Content Type Analysis} + + B -->|Static HTML| C{JavaScript Required?} + B -->|Dynamic SPA| D[Browser Strategy Required] + B -->|API Endpoints| E[HTTP Strategy Optimal] + B -->|Mixed Content| F{Primary Content Source?} + + C -->|No JS Needed| G[HTTP Strategy Recommended] + C -->|JS Required| H[Browser Strategy Required] + C -->|Unknown| I{Performance Priority?} + + I -->|Speed Critical| J[Try HTTP First] + I -->|Accuracy Critical| K[Use Browser Strategy] + + F -->|Mostly Static| G + F -->|Mostly Dynamic| D + + G --> L{Resource Constraints?} + L -->|Memory Limited| M[HTTP Strategy - Lightweight] + L -->|CPU Limited| N[HTTP Strategy - No Browser] + L -->|Network Limited| O[HTTP Strategy - Efficient] + L -->|No Constraints| P[Either Strategy Works] + + J --> Q[Test HTTP Results] + Q --> R{Content Complete?} + R -->|Yes| S[Continue with HTTP] + R -->|No| T[Switch to Browser Strategy] + + D --> U[Browser Strategy Features] + H --> U + K --> U + T --> U + + U --> V[JavaScript Execution] + U --> W[Screenshots/PDFs] + U --> X[Complex Interactions] + U --> Y[Session Management] + + M --> Z[HTTP Strategy Benefits] + N --> Z + O --> Z + S --> Z + + Z --> AA[10x Faster Processing] + Z --> BB[Lower Memory Usage] + Z --> CC[Higher Concurrency] + Z --> DD[Simpler Deployment] + + style G fill:#c8e6c9 + style M fill:#c8e6c9 + style N fill:#c8e6c9 + style O fill:#c8e6c9 + style S fill:#c8e6c9 + style D fill:#e3f2fd + style H fill:#e3f2fd + style K fill:#e3f2fd + style T fill:#e3f2fd + style U fill:#e3f2fd +``` + +### HTTP Request Lifecycle Sequence + +```mermaid +sequenceDiagram + participant Client + participant HTTPStrategy as HTTP Strategy + participant Session as HTTP Session + participant Server as Target Server + participant Processor as Content Processor + + Client->>HTTPStrategy: crawl(url, config) + HTTPStrategy->>HTTPStrategy: validate_url() + + alt URL Type Check + HTTPStrategy->>HTTPStrategy: handle_file_url() + Note over HTTPStrategy: file:// URLs + else + HTTPStrategy->>HTTPStrategy: handle_raw_content() + Note over HTTPStrategy: raw:// content + else + HTTPStrategy->>Session: prepare_request() + Session->>Session: apply_config() + Session->>Session: set_headers() + Session->>Session: setup_auth() + + Session->>Server: HTTP Request + Note over Session,Server: GET/POST/PUT with headers + + alt Success Response + Server-->>Session: HTTP 200 + Content + Session-->>HTTPStrategy: response_data + else Redirect Response + Server-->>Session: HTTP 3xx + Location + Session->>Server: Follow redirect + Server-->>Session: HTTP 200 + Content + Session-->>HTTPStrategy: final_response + else Error Response + Server-->>Session: HTTP 4xx/5xx + Session-->>HTTPStrategy: error_response + end + end + + HTTPStrategy->>Processor: process_content() + Processor->>Processor: clean_html() + Processor->>Processor: extract_metadata() + Processor->>Processor: generate_markdown() + Processor-->>HTTPStrategy: processed_result + + HTTPStrategy-->>Client: CrawlResult + + Note over Client,Processor: Fast, lightweight processing + Note over HTTPStrategy: No browser overhead +``` + +### HTTP Strategy Architecture + +```mermaid +graph TB + subgraph "HTTP Crawler Strategy" + A[AsyncHTTPCrawlerStrategy] --> B[Session Manager] + A --> C[Request Builder] + A --> D[Response Handler] + A --> E[Error Manager] + + B --> B1[Connection Pool] + B --> B2[DNS Cache] + B --> B3[SSL Context] + + C --> C1[Headers Builder] + C --> C2[Auth Handler] + C --> C3[Payload Encoder] + + D --> D1[Content Decoder] + D --> D2[Redirect Handler] + D --> D3[Status Validator] + + E --> E1[Retry Logic] + E --> E2[Timeout Handler] + E --> E3[Exception Mapper] + end + + subgraph "Content Processing" + F[Raw HTML] --> G[HTML Cleaner] + G --> H[Markdown Generator] + H --> I[Link Extractor] + I --> J[Media Extractor] + J --> K[Metadata Parser] + end + + subgraph "External Resources" + L[Target Websites] + M[Local Files] + N[Raw Content] + end + + subgraph "Output" + O[CrawlResult] + O --> O1[HTML Content] + O --> O2[Markdown Text] + O --> O3[Extracted Links] + O --> O4[Media References] + O --> O5[Status Information] + end + + A --> F + L --> A + M --> A + N --> A + K --> O + + style A fill:#e3f2fd + style B fill:#f3e5f5 + style F fill:#e8f5e8 + style O fill:#fff3e0 +``` + +### Performance Comparison Flow + +```mermaid +graph LR + subgraph "HTTP Strategy Performance" + A1[Request Start] --> A2[DNS Lookup: 50ms] + A2 --> A3[TCP Connect: 100ms] + A3 --> A4[HTTP Request: 200ms] + A4 --> A5[Content Download: 300ms] + A5 --> A6[Processing: 50ms] + A6 --> A7[Total: ~700ms] + end + + subgraph "Browser Strategy Performance" + B1[Request Start] --> B2[Browser Launch: 2000ms] + B2 --> B3[Page Navigation: 1000ms] + B3 --> B4[JS Execution: 500ms] + B4 --> B5[Content Rendering: 300ms] + B5 --> B6[Processing: 100ms] + B6 --> B7[Total: ~3900ms] + end + + subgraph "Resource Usage" + C1[HTTP Memory: ~50MB] + C2[Browser Memory: ~500MB] + C3[HTTP CPU: Low] + C4[Browser CPU: High] + C5[HTTP Concurrency: 100+] + C6[Browser Concurrency: 10-20] + end + + A7 --> D[5.5x Faster] + B7 --> D + C1 --> E[10x Less Memory] + C2 --> E + C5 --> F[5x More Concurrent] + C6 --> F + + style A7 fill:#c8e6c9 + style B7 fill:#ffcdd2 + style C1 fill:#c8e6c9 + style C2 fill:#ffcdd2 + style C5 fill:#c8e6c9 + style C6 fill:#ffcdd2 +``` + +### HTTP Request Types and Configuration + +```mermaid +stateDiagram-v2 + [*] --> HTTPConfigSetup + + HTTPConfigSetup --> MethodSelection + + MethodSelection --> GET: Simple data retrieval + MethodSelection --> POST: Form submission + MethodSelection --> PUT: Data upload + MethodSelection --> DELETE: Resource removal + + GET --> HeaderSetup: Set Accept headers + POST --> PayloadSetup: JSON or form data + PUT --> PayloadSetup: File or data upload + DELETE --> AuthSetup: Authentication required + + PayloadSetup --> JSONPayload: application/json + PayloadSetup --> FormPayload: form-data + PayloadSetup --> RawPayload: custom content + + JSONPayload --> HeaderSetup + FormPayload --> HeaderSetup + RawPayload --> HeaderSetup + + HeaderSetup --> AuthSetup + AuthSetup --> SSLSetup + SSLSetup --> RedirectSetup + RedirectSetup --> RequestExecution + + RequestExecution --> [*]: Request complete + + note right of GET : Default method for most crawling + note right of POST : API interactions, form submissions + note right of JSONPayload : Structured data transmission + note right of HeaderSetup : User-Agent, Accept, Custom headers +``` + +### Error Handling and Retry Workflow + +```mermaid +flowchart TD + A[HTTP Request] --> B{Response Received?} + + B -->|No| C[Connection Error] + B -->|Yes| D{Status Code Check} + + C --> C1{Timeout Error?} + C1 -->|Yes| C2[ConnectionTimeoutError] + C1 -->|No| C3[Network Error] + + D -->|2xx| E[Success Response] + D -->|3xx| F[Redirect Response] + D -->|4xx| G[Client Error] + D -->|5xx| H[Server Error] + + F --> F1{Follow Redirects?} + F1 -->|Yes| F2[Follow Redirect] + F1 -->|No| F3[Return Redirect Response] + F2 --> A + + G --> G1{Retry on 4xx?} + G1 -->|No| G2[HTTPStatusError] + G1 -->|Yes| I[Check Retry Count] + + H --> H1{Retry on 5xx?} + H1 -->|Yes| I + H1 -->|No| H2[HTTPStatusError] + + C2 --> I + C3 --> I + + I --> J{Retries < Max?} + J -->|No| K[Final Error] + J -->|Yes| L[Calculate Backoff] + + L --> M[Wait Backoff Time] + M --> N[Increment Retry Count] + N --> A + + E --> O[Process Content] + F3 --> O + O --> P[Return CrawlResult] + + G2 --> Q[Error CrawlResult] + H2 --> Q + K --> Q + + style E fill:#c8e6c9 + style P fill:#c8e6c9 + style G2 fill:#ffcdd2 + style H2 fill:#ffcdd2 + style K fill:#ffcdd2 + style Q fill:#ffcdd2 +``` + +### Batch Processing Architecture + +```mermaid +sequenceDiagram + participant Client + participant BatchManager as Batch Manager + participant HTTPPool as Connection Pool + participant Workers as HTTP Workers + participant Targets as Target Servers + + Client->>BatchManager: batch_crawl(urls) + BatchManager->>BatchManager: create_semaphore(max_concurrent) + + loop For each URL batch + BatchManager->>HTTPPool: acquire_connection() + HTTPPool->>Workers: assign_worker() + + par Concurrent Processing + Workers->>Targets: HTTP Request 1 + Workers->>Targets: HTTP Request 2 + Workers->>Targets: HTTP Request N + end + + par Response Handling + Targets-->>Workers: Response 1 + Targets-->>Workers: Response 2 + Targets-->>Workers: Response N + end + + Workers->>HTTPPool: return_connection() + HTTPPool->>BatchManager: batch_results() + end + + BatchManager->>BatchManager: aggregate_results() + BatchManager-->>Client: final_results() + + Note over Workers,Targets: 20-100 concurrent connections + Note over BatchManager: Memory-efficient processing + Note over HTTPPool: Connection reuse optimization +``` + +### Content Type Processing Pipeline + +```mermaid +graph TD + A[HTTP Response] --> B{Content-Type Detection} + + B -->|text/html| C[HTML Processing] + B -->|application/json| D[JSON Processing] + B -->|text/plain| E[Text Processing] + B -->|application/xml| F[XML Processing] + B -->|Other| G[Binary Processing] + + C --> C1[Parse HTML Structure] + C1 --> C2[Extract Text Content] + C2 --> C3[Generate Markdown] + C3 --> C4[Extract Links/Media] + + D --> D1[Parse JSON Structure] + D1 --> D2[Extract Data Fields] + D2 --> D3[Format as Readable Text] + + E --> E1[Clean Text Content] + E1 --> E2[Basic Formatting] + + F --> F1[Parse XML Structure] + F1 --> F2[Extract Text Nodes] + F2 --> F3[Convert to Markdown] + + G --> G1[Save Binary Content] + G1 --> G2[Generate Metadata] + + C4 --> H[Content Analysis] + D3 --> H + E2 --> H + F3 --> H + G2 --> H + + H --> I[Link Extraction] + H --> J[Media Detection] + H --> K[Metadata Parsing] + + I --> L[CrawlResult Assembly] + J --> L + K --> L + + L --> M[Final Output] + + style C fill:#e8f5e8 + style H fill:#fff3e0 + style L fill:#e3f2fd + style M fill:#c8e6c9 +``` + +### Integration with Processing Strategies + +```mermaid +graph LR + subgraph "HTTP Strategy Core" + A[HTTP Request] --> B[Raw Content] + B --> C[Content Decoder] + end + + subgraph "Processing Pipeline" + C --> D[HTML Cleaner] + D --> E[Markdown Generator] + E --> F{Content Filter?} + + F -->|Yes| G[Pruning Filter] + F -->|Yes| H[BM25 Filter] + F -->|No| I[Raw Markdown] + + G --> J[Fit Markdown] + H --> J + end + + subgraph "Extraction Strategies" + I --> K[CSS Extraction] + J --> K + I --> L[XPath Extraction] + J --> L + I --> M[LLM Extraction] + J --> M + end + + subgraph "Output Generation" + K --> N[Structured JSON] + L --> N + M --> N + + I --> O[Clean Markdown] + J --> P[Filtered Content] + + N --> Q[Final CrawlResult] + O --> Q + P --> Q + end + + style A fill:#e3f2fd + style C fill:#f3e5f5 + style E fill:#e8f5e8 + style Q fill:#c8e6c9 +``` + +**📖 Learn more:** [HTTP vs Browser Strategies](https://docs.crawl4ai.com/core/browser-crawler-config/), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/), [Error Handling](https://docs.crawl4ai.com/api/async-webcrawler/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/installation.txt b/docs/md_v2/assets/llm.txt/diagrams/installation.txt new file mode 100644 index 00000000..3fccc386 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/installation.txt @@ -0,0 +1,368 @@ +## Installation Workflows and Architecture + +Visual representations of Crawl4AI installation processes, deployment options, and system interactions. + +### Installation Decision Flow + +```mermaid +flowchart TD + A[Start Installation] --> B{Environment Type?} + + B -->|Local Development| C[Basic Python Install] + B -->|Production| D[Docker Deployment] + B -->|Research/Testing| E[Google Colab] + B -->|CI/CD Pipeline| F[Automated Setup] + + C --> C1[pip install crawl4ai] + C1 --> C2[crawl4ai-setup] + C2 --> C3{Need Advanced Features?} + + C3 -->|No| C4[Basic Installation Complete] + C3 -->|Text Clustering| C5[pip install crawl4ai with torch] + C3 -->|Transformers| C6[pip install crawl4ai with transformer] + C3 -->|All Features| C7[pip install crawl4ai with all] + + C5 --> C8[crawl4ai-download-models] + C6 --> C8 + C7 --> C8 + C8 --> C9[Advanced Installation Complete] + + D --> D1{Deployment Method?} + D1 -->|Pre-built Image| D2[docker pull unclecode/crawl4ai] + D1 -->|Docker Compose| D3[Clone repo + docker compose] + D1 -->|Custom Build| D4[docker buildx build] + + D2 --> D5[Configure .llm.env] + D3 --> D5 + D4 --> D5 + D5 --> D6[docker run with ports] + D6 --> D7[Docker Deployment Complete] + + E --> E1[Colab pip install] + E1 --> E2[playwright install chromium] + E2 --> E3[Test basic crawl] + E3 --> E4[Colab Setup Complete] + + F --> F1[Automated pip install] + F1 --> F2[Automated setup scripts] + F2 --> F3[CI/CD Integration Complete] + + C4 --> G[Verify with crawl4ai-doctor] + C9 --> G + D7 --> H[Health check via API] + E4 --> I[Run test crawl] + F3 --> G + + G --> J[Installation Verified] + H --> J + I --> J + + style A fill:#e1f5fe + style J fill:#c8e6c9 + style C4 fill:#fff3e0 + style C9 fill:#fff3e0 + style D7 fill:#f3e5f5 + style E4 fill:#fce4ec + style F3 fill:#e8f5e8 +``` + +### Basic Installation Sequence + +```mermaid +sequenceDiagram + participant User + participant PyPI + participant System + participant Playwright + participant Crawler + + User->>PyPI: pip install crawl4ai + PyPI-->>User: Package downloaded + + User->>System: crawl4ai-setup + System->>Playwright: Install browser binaries + Playwright-->>System: Chromium, Firefox installed + System-->>User: Setup complete + + User->>System: crawl4ai-doctor + System->>System: Check Python version + System->>System: Verify Playwright installation + System->>System: Test browser launch + System-->>User: Diagnostics report + + User->>Crawler: Basic crawl test + Crawler->>Playwright: Launch browser + Playwright-->>Crawler: Browser ready + Crawler->>Crawler: Navigate to test URL + Crawler-->>User: Success confirmation +``` + +### Docker Deployment Architecture + +```mermaid +graph TB + subgraph "Host System" + A[Docker Engine] --> B[Crawl4AI Container] + C[.llm.env File] --> B + D[Port 11235] --> B + end + + subgraph "Container Environment" + B --> E[FastAPI Server] + B --> F[Playwright Browsers] + B --> G[Python Runtime] + + E --> H[/crawl Endpoint] + E --> I[/playground Interface] + E --> J[/health Monitoring] + E --> K[/metrics Prometheus] + + F --> L[Chromium Browser] + F --> M[Firefox Browser] + F --> N[WebKit Browser] + end + + subgraph "External Services" + O[OpenAI API] --> B + P[Anthropic API] --> B + Q[Local LLM Ollama] --> B + end + + subgraph "Client Applications" + R[Python SDK] --> H + S[REST API Calls] --> H + T[Web Browser] --> I + U[Monitoring Tools] --> J + V[Prometheus] --> K + end + + style B fill:#e3f2fd + style E fill:#f3e5f5 + style F fill:#e8f5e8 + style G fill:#fff3e0 +``` + +### Advanced Features Installation Flow + +```mermaid +stateDiagram-v2 + [*] --> BasicInstall + + BasicInstall --> FeatureChoice: crawl4ai installed + + FeatureChoice --> TorchInstall: Need text clustering + FeatureChoice --> TransformerInstall: Need HuggingFace models + FeatureChoice --> AllInstall: Need everything + FeatureChoice --> Complete: Basic features sufficient + + TorchInstall --> TorchSetup: pip install crawl4ai with torch + TransformerInstall --> TransformerSetup: pip install crawl4ai with transformer + AllInstall --> AllSetup: pip install crawl4ai with all + + TorchSetup --> ModelDownload: crawl4ai-setup + TransformerSetup --> ModelDownload: crawl4ai-setup + AllSetup --> ModelDownload: crawl4ai-setup + + ModelDownload --> PreDownload: crawl4ai-download-models + PreDownload --> Complete: All models cached + + Complete --> Verification: crawl4ai-doctor + Verification --> [*]: Installation verified + + note right of TorchInstall : PyTorch for semantic operations + note right of TransformerInstall : HuggingFace for LLM features + note right of AllInstall : Complete feature set +``` + +### Platform-Specific Installation Matrix + +```mermaid +graph LR + subgraph "Installation Methods" + A[Python Package] --> A1[pip install] + B[Docker Image] --> B1[docker pull] + C[Source Build] --> C1[git clone + build] + D[Cloud Platform] --> D1[Colab/Kaggle] + end + + subgraph "Operating Systems" + E[Linux x86_64] + F[Linux ARM64] + G[macOS Intel] + H[macOS Apple Silicon] + I[Windows x86_64] + end + + subgraph "Feature Sets" + J[Basic crawling] + K[Text clustering torch] + L[LLM transformers] + M[All features] + end + + A1 --> E + A1 --> F + A1 --> G + A1 --> H + A1 --> I + + B1 --> E + B1 --> F + B1 --> G + B1 --> H + + C1 --> E + C1 --> F + C1 --> G + C1 --> H + C1 --> I + + D1 --> E + D1 --> I + + E --> J + E --> K + E --> L + E --> M + + F --> J + F --> K + F --> L + F --> M + + G --> J + G --> K + G --> L + G --> M + + H --> J + H --> K + H --> L + H --> M + + I --> J + I --> K + I --> L + I --> M + + style A1 fill:#e3f2fd + style B1 fill:#f3e5f5 + style C1 fill:#e8f5e8 + style D1 fill:#fff3e0 +``` + +### Docker Multi-Stage Build Process + +```mermaid +sequenceDiagram + participant Dev as Developer + participant Git as GitHub Repo + participant Docker as Docker Engine + participant Registry as Docker Hub + participant User as End User + + Dev->>Git: Push code changes + + Docker->>Git: Clone repository + Docker->>Docker: Stage 1 - Base Python image + Docker->>Docker: Stage 2 - Install dependencies + Docker->>Docker: Stage 3 - Install Playwright + Docker->>Docker: Stage 4 - Copy application code + Docker->>Docker: Stage 5 - Setup FastAPI server + + Note over Docker: Multi-architecture build + Docker->>Docker: Build for linux/amd64 + Docker->>Docker: Build for linux/arm64 + + Docker->>Registry: Push multi-arch manifest + Registry-->>Docker: Build complete + + User->>Registry: docker pull unclecode/crawl4ai + Registry-->>User: Download appropriate architecture + + User->>Docker: docker run with configuration + Docker->>Docker: Start container + Docker->>Docker: Initialize FastAPI server + Docker->>Docker: Setup Playwright browsers + Docker-->>User: Service ready on port 11235 +``` + +### Installation Verification Workflow + +```mermaid +flowchart TD + A[Installation Complete] --> B[Run crawl4ai-doctor] + + B --> C{Python Version Check} + C -->|✓ 3.10+| D{Playwright Check} + C -->|✗ < 3.10| C1[Upgrade Python] + C1 --> D + + D -->|✓ Installed| E{Browser Binaries} + D -->|✗ Missing| D1[Run crawl4ai-setup] + D1 --> E + + E -->|✓ Available| F{Test Browser Launch} + E -->|✗ Missing| E1[playwright install] + E1 --> F + + F -->|✓ Success| G[Test Basic Crawl] + F -->|✗ Failed| F1[Check system dependencies] + F1 --> F + + G --> H{Crawl Test Result} + H -->|✓ Success| I[Installation Verified ✓] + H -->|✗ Failed| H1[Check network/permissions] + H1 --> G + + I --> J[Ready for Production Use] + + style I fill:#c8e6c9 + style J fill:#e8f5e8 + style C1 fill:#ffcdd2 + style D1 fill:#fff3e0 + style E1 fill:#fff3e0 + style F1 fill:#ffcdd2 + style H1 fill:#ffcdd2 +``` + +### Resource Requirements by Installation Type + +```mermaid +graph TD + subgraph "Basic Installation" + A1[Memory: 512MB] + A2[Disk: 2GB] + A3[CPU: 1 core] + A4[Network: Required for setup] + end + + subgraph "Advanced Features torch" + B1[Memory: 2GB+] + B2[Disk: 5GB+] + B3[CPU: 2+ cores] + B4[GPU: Optional CUDA] + end + + subgraph "All Features" + C1[Memory: 4GB+] + C2[Disk: 10GB+] + C3[CPU: 4+ cores] + C4[GPU: Recommended] + end + + subgraph "Docker Deployment" + D1[Memory: 1GB+] + D2[Disk: 3GB+] + D3[CPU: 2+ cores] + D4[Ports: 11235] + D5[Shared Memory: 1GB] + end + + style A1 fill:#e8f5e8 + style B1 fill:#fff3e0 + style C1 fill:#ffecb3 + style D1 fill:#e3f2fd +``` + +**📖 Learn more:** [Installation Guide](https://docs.crawl4ai.com/core/installation/), [Docker Deployment](https://docs.crawl4ai.com/core/docker-deployment/), [System Requirements](https://docs.crawl4ai.com/core/installation/#prerequisites) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/llms-diagram.txt b/docs/md_v2/assets/llm.txt/diagrams/llms-diagram.txt new file mode 100644 index 00000000..ad2d0542 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/llms-diagram.txt @@ -0,0 +1,5912 @@ +# Crawl4AI + +> Open-source LLM-friendly web crawler and scraper for AI applications + +Crawl4AI simplifies asynchronous web crawling and data extraction, making it accessible for large language models (LLMs) and AI applications. Built with Python and Playwright for high-performance crawling with structured data extraction. + +**Key Features:** +- Asynchronous crawling with high concurrency +- Multiple extraction strategies (CSS, XPath, LLM-based) +- Built-in markdown generation with content filtering +- Docker deployment with REST API +- Session management and browser automation +- Advanced anti-detection capabilities + +**Quick Links:** +- [GitHub Repository](https://github.com/unclecode/crawl4ai) +- [Documentation](https://docs.crawl4ai.com) +- [Examples](https://github.com/unclecode/crawl4ai/tree/main/docs/examples) + +--- + + +## Installation Workflows and Architecture + +Visual representations of Crawl4AI installation processes, deployment options, and system interactions. + +### Installation Decision Flow + +```mermaid +flowchart TD + A[Start Installation] --> B{Environment Type?} + + B -->|Local Development| C[Basic Python Install] + B -->|Production| D[Docker Deployment] + B -->|Research/Testing| E[Google Colab] + B -->|CI/CD Pipeline| F[Automated Setup] + + C --> C1[pip install crawl4ai] + C1 --> C2[crawl4ai-setup] + C2 --> C3{Need Advanced Features?} + + C3 -->|No| C4[Basic Installation Complete] + C3 -->|Text Clustering| C5[pip install crawl4ai with torch] + C3 -->|Transformers| C6[pip install crawl4ai with transformer] + C3 -->|All Features| C7[pip install crawl4ai with all] + + C5 --> C8[crawl4ai-download-models] + C6 --> C8 + C7 --> C8 + C8 --> C9[Advanced Installation Complete] + + D --> D1{Deployment Method?} + D1 -->|Pre-built Image| D2[docker pull unclecode/crawl4ai] + D1 -->|Docker Compose| D3[Clone repo + docker compose] + D1 -->|Custom Build| D4[docker buildx build] + + D2 --> D5[Configure .llm.env] + D3 --> D5 + D4 --> D5 + D5 --> D6[docker run with ports] + D6 --> D7[Docker Deployment Complete] + + E --> E1[Colab pip install] + E1 --> E2[playwright install chromium] + E2 --> E3[Test basic crawl] + E3 --> E4[Colab Setup Complete] + + F --> F1[Automated pip install] + F1 --> F2[Automated setup scripts] + F2 --> F3[CI/CD Integration Complete] + + C4 --> G[Verify with crawl4ai-doctor] + C9 --> G + D7 --> H[Health check via API] + E4 --> I[Run test crawl] + F3 --> G + + G --> J[Installation Verified] + H --> J + I --> J + + style A fill:#e1f5fe + style J fill:#c8e6c9 + style C4 fill:#fff3e0 + style C9 fill:#fff3e0 + style D7 fill:#f3e5f5 + style E4 fill:#fce4ec + style F3 fill:#e8f5e8 +``` + +### Basic Installation Sequence + +```mermaid +sequenceDiagram + participant User + participant PyPI + participant System + participant Playwright + participant Crawler + + User->>PyPI: pip install crawl4ai + PyPI-->>User: Package downloaded + + User->>System: crawl4ai-setup + System->>Playwright: Install browser binaries + Playwright-->>System: Chromium, Firefox installed + System-->>User: Setup complete + + User->>System: crawl4ai-doctor + System->>System: Check Python version + System->>System: Verify Playwright installation + System->>System: Test browser launch + System-->>User: Diagnostics report + + User->>Crawler: Basic crawl test + Crawler->>Playwright: Launch browser + Playwright-->>Crawler: Browser ready + Crawler->>Crawler: Navigate to test URL + Crawler-->>User: Success confirmation +``` + +### Docker Deployment Architecture + +```mermaid +graph TB + subgraph "Host System" + A[Docker Engine] --> B[Crawl4AI Container] + C[.llm.env File] --> B + D[Port 11235] --> B + end + + subgraph "Container Environment" + B --> E[FastAPI Server] + B --> F[Playwright Browsers] + B --> G[Python Runtime] + + E --> H[/crawl Endpoint] + E --> I[/playground Interface] + E --> J[/health Monitoring] + E --> K[/metrics Prometheus] + + F --> L[Chromium Browser] + F --> M[Firefox Browser] + F --> N[WebKit Browser] + end + + subgraph "External Services" + O[OpenAI API] --> B + P[Anthropic API] --> B + Q[Local LLM Ollama] --> B + end + + subgraph "Client Applications" + R[Python SDK] --> H + S[REST API Calls] --> H + T[Web Browser] --> I + U[Monitoring Tools] --> J + V[Prometheus] --> K + end + + style B fill:#e3f2fd + style E fill:#f3e5f5 + style F fill:#e8f5e8 + style G fill:#fff3e0 +``` + +### Advanced Features Installation Flow + +```mermaid +stateDiagram-v2 + [*] --> BasicInstall + + BasicInstall --> FeatureChoice: crawl4ai installed + + FeatureChoice --> TorchInstall: Need text clustering + FeatureChoice --> TransformerInstall: Need HuggingFace models + FeatureChoice --> AllInstall: Need everything + FeatureChoice --> Complete: Basic features sufficient + + TorchInstall --> TorchSetup: pip install crawl4ai with torch + TransformerInstall --> TransformerSetup: pip install crawl4ai with transformer + AllInstall --> AllSetup: pip install crawl4ai with all + + TorchSetup --> ModelDownload: crawl4ai-setup + TransformerSetup --> ModelDownload: crawl4ai-setup + AllSetup --> ModelDownload: crawl4ai-setup + + ModelDownload --> PreDownload: crawl4ai-download-models + PreDownload --> Complete: All models cached + + Complete --> Verification: crawl4ai-doctor + Verification --> [*]: Installation verified + + note right of TorchInstall : PyTorch for semantic operations + note right of TransformerInstall : HuggingFace for LLM features + note right of AllInstall : Complete feature set +``` + +### Platform-Specific Installation Matrix + +```mermaid +graph LR + subgraph "Installation Methods" + A[Python Package] --> A1[pip install] + B[Docker Image] --> B1[docker pull] + C[Source Build] --> C1[git clone + build] + D[Cloud Platform] --> D1[Colab/Kaggle] + end + + subgraph "Operating Systems" + E[Linux x86_64] + F[Linux ARM64] + G[macOS Intel] + H[macOS Apple Silicon] + I[Windows x86_64] + end + + subgraph "Feature Sets" + J[Basic crawling] + K[Text clustering torch] + L[LLM transformers] + M[All features] + end + + A1 --> E + A1 --> F + A1 --> G + A1 --> H + A1 --> I + + B1 --> E + B1 --> F + B1 --> G + B1 --> H + + C1 --> E + C1 --> F + C1 --> G + C1 --> H + C1 --> I + + D1 --> E + D1 --> I + + E --> J + E --> K + E --> L + E --> M + + F --> J + F --> K + F --> L + F --> M + + G --> J + G --> K + G --> L + G --> M + + H --> J + H --> K + H --> L + H --> M + + I --> J + I --> K + I --> L + I --> M + + style A1 fill:#e3f2fd + style B1 fill:#f3e5f5 + style C1 fill:#e8f5e8 + style D1 fill:#fff3e0 +``` + +### Docker Multi-Stage Build Process + +```mermaid +sequenceDiagram + participant Dev as Developer + participant Git as GitHub Repo + participant Docker as Docker Engine + participant Registry as Docker Hub + participant User as End User + + Dev->>Git: Push code changes + + Docker->>Git: Clone repository + Docker->>Docker: Stage 1 - Base Python image + Docker->>Docker: Stage 2 - Install dependencies + Docker->>Docker: Stage 3 - Install Playwright + Docker->>Docker: Stage 4 - Copy application code + Docker->>Docker: Stage 5 - Setup FastAPI server + + Note over Docker: Multi-architecture build + Docker->>Docker: Build for linux/amd64 + Docker->>Docker: Build for linux/arm64 + + Docker->>Registry: Push multi-arch manifest + Registry-->>Docker: Build complete + + User->>Registry: docker pull unclecode/crawl4ai + Registry-->>User: Download appropriate architecture + + User->>Docker: docker run with configuration + Docker->>Docker: Start container + Docker->>Docker: Initialize FastAPI server + Docker->>Docker: Setup Playwright browsers + Docker-->>User: Service ready on port 11235 +``` + +### Installation Verification Workflow + +```mermaid +flowchart TD + A[Installation Complete] --> B[Run crawl4ai-doctor] + + B --> C{Python Version Check} + C -->|✓ 3.10+| D{Playwright Check} + C -->|✗ < 3.10| C1[Upgrade Python] + C1 --> D + + D -->|✓ Installed| E{Browser Binaries} + D -->|✗ Missing| D1[Run crawl4ai-setup] + D1 --> E + + E -->|✓ Available| F{Test Browser Launch} + E -->|✗ Missing| E1[playwright install] + E1 --> F + + F -->|✓ Success| G[Test Basic Crawl] + F -->|✗ Failed| F1[Check system dependencies] + F1 --> F + + G --> H{Crawl Test Result} + H -->|✓ Success| I[Installation Verified ✓] + H -->|✗ Failed| H1[Check network/permissions] + H1 --> G + + I --> J[Ready for Production Use] + + style I fill:#c8e6c9 + style J fill:#e8f5e8 + style C1 fill:#ffcdd2 + style D1 fill:#fff3e0 + style E1 fill:#fff3e0 + style F1 fill:#ffcdd2 + style H1 fill:#ffcdd2 +``` + +### Resource Requirements by Installation Type + +```mermaid +graph TD + subgraph "Basic Installation" + A1[Memory: 512MB] + A2[Disk: 2GB] + A3[CPU: 1 core] + A4[Network: Required for setup] + end + + subgraph "Advanced Features torch" + B1[Memory: 2GB+] + B2[Disk: 5GB+] + B3[CPU: 2+ cores] + B4[GPU: Optional CUDA] + end + + subgraph "All Features" + C1[Memory: 4GB+] + C2[Disk: 10GB+] + C3[CPU: 4+ cores] + C4[GPU: Recommended] + end + + subgraph "Docker Deployment" + D1[Memory: 1GB+] + D2[Disk: 3GB+] + D3[CPU: 2+ cores] + D4[Ports: 11235] + D5[Shared Memory: 1GB] + end + + style A1 fill:#e8f5e8 + style B1 fill:#fff3e0 + style C1 fill:#ffecb3 + style D1 fill:#e3f2fd +``` + +**📖 Learn more:** [Installation Guide](https://docs.crawl4ai.com/core/installation/), [Docker Deployment](https://docs.crawl4ai.com/core/docker-deployment/), [System Requirements](https://docs.crawl4ai.com/core/installation/#prerequisites) +--- + + +## Simple Crawling Workflows and Data Flow + +Visual representations of basic web crawling operations, configuration patterns, and result processing workflows. + +### Basic Crawling Sequence + +```mermaid +sequenceDiagram + participant User + participant Crawler as AsyncWebCrawler + participant Browser as Browser Instance + participant Page as Web Page + participant Processor as Content Processor + + User->>Crawler: Create with BrowserConfig + Crawler->>Browser: Launch browser instance + Browser-->>Crawler: Browser ready + + User->>Crawler: arun(url, CrawlerRunConfig) + Crawler->>Browser: Create new page/context + Browser->>Page: Navigate to URL + Page-->>Browser: Page loaded + + Browser->>Processor: Extract raw HTML + Processor->>Processor: Clean HTML + Processor->>Processor: Generate markdown + Processor->>Processor: Extract media/links + Processor-->>Crawler: CrawlResult created + + Crawler-->>User: Return CrawlResult + + Note over User,Processor: All processing happens asynchronously +``` + +### Crawling Configuration Flow + +```mermaid +flowchart TD + A[Start Crawling] --> B{Browser Config Set?} + + B -->|No| B1[Use Default BrowserConfig] + B -->|Yes| B2[Custom BrowserConfig] + + B1 --> C[Launch Browser] + B2 --> C + + C --> D{Crawler Run Config Set?} + + D -->|No| D1[Use Default CrawlerRunConfig] + D -->|Yes| D2[Custom CrawlerRunConfig] + + D1 --> E[Navigate to URL] + D2 --> E + + E --> F{Page Load Success?} + F -->|No| F1[Return Error Result] + F -->|Yes| G[Apply Content Filters] + + G --> G1{excluded_tags set?} + G1 -->|Yes| G2[Remove specified tags] + G1 -->|No| G3[Keep all tags] + G2 --> G4{css_selector set?} + G3 --> G4 + + G4 -->|Yes| G5[Extract selected elements] + G4 -->|No| G6[Process full page] + G5 --> H[Generate Markdown] + G6 --> H + + H --> H1{markdown_generator set?} + H1 -->|Yes| H2[Use custom generator] + H1 -->|No| H3[Use default generator] + H2 --> I[Extract Media and Links] + H3 --> I + + I --> I1{process_iframes?} + I1 -->|Yes| I2[Include iframe content] + I1 -->|No| I3[Skip iframes] + I2 --> J[Create CrawlResult] + I3 --> J + + J --> K[Return Result] + + style A fill:#e1f5fe + style K fill:#c8e6c9 + style F1 fill:#ffcdd2 +``` + +### CrawlResult Data Structure + +```mermaid +graph TB + subgraph "CrawlResult Object" + A[CrawlResult] --> B[Basic Info] + A --> C[Content Variants] + A --> D[Extracted Data] + A --> E[Media Assets] + A --> F[Optional Outputs] + + B --> B1[url: Final URL] + B --> B2[success: Boolean] + B --> B3[status_code: HTTP Status] + B --> B4[error_message: Error Details] + + C --> C1[html: Raw HTML] + C --> C2[cleaned_html: Sanitized HTML] + C --> C3[markdown: MarkdownGenerationResult] + + C3 --> C3A[raw_markdown: Basic conversion] + C3 --> C3B[markdown_with_citations: With references] + C3 --> C3C[fit_markdown: Filtered content] + C3 --> C3D[references_markdown: Citation list] + + D --> D1[links: Internal/External] + D --> D2[media: Images/Videos/Audio] + D --> D3[metadata: Page info] + D --> D4[extracted_content: JSON data] + D --> D5[tables: Structured table data] + + E --> E1[screenshot: Base64 image] + E --> E2[pdf: PDF bytes] + E --> E3[mhtml: Archive file] + E --> E4[downloaded_files: File paths] + + F --> F1[session_id: Browser session] + F --> F2[ssl_certificate: Security info] + F --> F3[response_headers: HTTP headers] + F --> F4[network_requests: Traffic log] + F --> F5[console_messages: Browser logs] + end + + style A fill:#e3f2fd + style C3 fill:#f3e5f5 + style D5 fill:#e8f5e8 +``` + +### Content Processing Pipeline + +```mermaid +flowchart LR + subgraph "Input Sources" + A1[Web URL] + A2[Raw HTML] + A3[Local File] + end + + A1 --> B[Browser Navigation] + A2 --> C[Direct Processing] + A3 --> C + + B --> D[Raw HTML Capture] + C --> D + + D --> E{Content Filtering} + + E --> E1[Remove Scripts/Styles] + E --> E2[Apply excluded_tags] + E --> E3[Apply css_selector] + E --> E4[Remove overlay elements] + + E1 --> F[Cleaned HTML] + E2 --> F + E3 --> F + E4 --> F + + F --> G{Markdown Generation} + + G --> G1[HTML to Markdown] + G --> G2[Apply Content Filter] + G --> G3[Generate Citations] + + G1 --> H[MarkdownGenerationResult] + G2 --> H + G3 --> H + + F --> I{Media Extraction} + I --> I1[Find Images] + I --> I2[Find Videos/Audio] + I --> I3[Score Relevance] + I1 --> J[Media Dictionary] + I2 --> J + I3 --> J + + F --> K{Link Extraction} + K --> K1[Internal Links] + K --> K2[External Links] + K --> K3[Apply Link Filters] + K1 --> L[Links Dictionary] + K2 --> L + K3 --> L + + H --> M[Final CrawlResult] + J --> M + L --> M + + style D fill:#e3f2fd + style F fill:#f3e5f5 + style H fill:#e8f5e8 + style M fill:#c8e6c9 +``` + +### Table Extraction Workflow + +```mermaid +stateDiagram-v2 + [*] --> DetectTables + + DetectTables --> ScoreTables: Find table elements + + ScoreTables --> EvaluateThreshold: Calculate quality scores + EvaluateThreshold --> PassThreshold: score >= table_score_threshold + EvaluateThreshold --> RejectTable: score < threshold + + PassThreshold --> ExtractHeaders: Parse table structure + ExtractHeaders --> ExtractRows: Get header cells + ExtractRows --> ExtractMetadata: Get data rows + ExtractMetadata --> CreateTableObject: Get caption/summary + + CreateTableObject --> AddToResult: {headers, rows, caption, summary} + AddToResult --> [*]: Table extraction complete + + RejectTable --> [*]: Table skipped + + note right of ScoreTables : Factors: header presence, data density, structure quality + note right of EvaluateThreshold : Threshold 1-10, higher = stricter +``` + +### Error Handling Decision Tree + +```mermaid +flowchart TD + A[Start Crawl] --> B[Navigate to URL] + + B --> C{Navigation Success?} + C -->|Network Error| C1[Set error_message: Network failure] + C -->|Timeout| C2[Set error_message: Page timeout] + C -->|Invalid URL| C3[Set error_message: Invalid URL format] + C -->|Success| D[Process Page Content] + + C1 --> E[success = False] + C2 --> E + C3 --> E + + D --> F{Content Processing OK?} + F -->|Parser Error| F1[Set error_message: HTML parsing failed] + F -->|Memory Error| F2[Set error_message: Insufficient memory] + F -->|Success| G[Generate Outputs] + + F1 --> E + F2 --> E + + G --> H{Output Generation OK?} + H -->|Markdown Error| H1[Partial success with warnings] + H -->|Extraction Error| H2[Partial success with warnings] + H -->|Success| I[success = True] + + H1 --> I + H2 --> I + + E --> J[Return Failed CrawlResult] + I --> K[Return Successful CrawlResult] + + J --> L[User Error Handling] + K --> M[User Result Processing] + + L --> L1{Check error_message} + L1 -->|Network| L2[Retry with different config] + L1 -->|Timeout| L3[Increase page_timeout] + L1 -->|Parser| L4[Try different scraping_strategy] + + style E fill:#ffcdd2 + style I fill:#c8e6c9 + style J fill:#ffcdd2 + style K fill:#c8e6c9 +``` + +### Configuration Impact Matrix + +```mermaid +graph TB + subgraph "Configuration Categories" + A[Content Processing] + B[Page Interaction] + C[Output Generation] + D[Performance] + end + + subgraph "Configuration Options" + A --> A1[word_count_threshold] + A --> A2[excluded_tags] + A --> A3[css_selector] + A --> A4[exclude_external_links] + + B --> B1[process_iframes] + B --> B2[remove_overlay_elements] + B --> B3[scan_full_page] + B --> B4[wait_for] + + C --> C1[screenshot] + C --> C2[pdf] + C --> C3[markdown_generator] + C --> C4[table_score_threshold] + + D --> D1[cache_mode] + D --> D2[verbose] + D --> D3[page_timeout] + D --> D4[semaphore_count] + end + + subgraph "Result Impact" + A1 --> R1[Filters short text blocks] + A2 --> R2[Removes specified HTML tags] + A3 --> R3[Focuses on selected content] + A4 --> R4[Cleans links dictionary] + + B1 --> R5[Includes iframe content] + B2 --> R6[Removes popups/modals] + B3 --> R7[Loads dynamic content] + B4 --> R8[Waits for specific elements] + + C1 --> R9[Adds screenshot field] + C2 --> R10[Adds pdf field] + C3 --> R11[Custom markdown processing] + C4 --> R12[Filters table quality] + + D1 --> R13[Controls caching behavior] + D2 --> R14[Detailed logging output] + D3 --> R15[Prevents timeout errors] + D4 --> R16[Limits concurrent operations] + end + + style A fill:#e3f2fd + style B fill:#f3e5f5 + style C fill:#e8f5e8 + style D fill:#fff3e0 +``` + +### Raw HTML and Local File Processing + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant Processor + participant FileSystem + + Note over User,FileSystem: Raw HTML Processing + User->>Crawler: arun("raw://html_content") + Crawler->>Processor: Parse raw HTML directly + Processor->>Processor: Apply same content filters + Processor-->>Crawler: Standard CrawlResult + Crawler-->>User: Result with markdown + + Note over User,FileSystem: Local File Processing + User->>Crawler: arun("file:///path/to/file.html") + Crawler->>FileSystem: Read local file + FileSystem-->>Crawler: File content + Crawler->>Processor: Process file HTML + Processor->>Processor: Apply content processing + Processor-->>Crawler: Standard CrawlResult + Crawler-->>User: Result with markdown + + Note over User,FileSystem: Both return identical CrawlResult structure +``` + +### Comprehensive Processing Example Flow + +```mermaid +flowchart TD + A[Input: example.com] --> B[Create Configurations] + + B --> B1[BrowserConfig verbose=True] + B --> B2[CrawlerRunConfig with filters] + + B1 --> C[Launch AsyncWebCrawler] + B2 --> C + + C --> D[Navigate and Process] + + D --> E{Check Success} + E -->|Failed| E1[Print Error Message] + E -->|Success| F[Extract Content Summary] + + F --> F1[Get Page Title] + F --> F2[Get Content Preview] + F --> F3[Process Media Items] + F --> F4[Process Links] + + F3 --> F3A[Count Images] + F3 --> F3B[Show First 3 Images] + + F4 --> F4A[Count Internal Links] + F4 --> F4B[Show First 3 Links] + + F1 --> G[Display Results] + F2 --> G + F3A --> G + F3B --> G + F4A --> G + F4B --> G + + E1 --> H[End with Error] + G --> I[End with Success] + + style E1 fill:#ffcdd2 + style G fill:#c8e6c9 + style H fill:#ffcdd2 + style I fill:#c8e6c9 +``` + +**📖 Learn more:** [Simple Crawling Guide](https://docs.crawl4ai.com/core/simple-crawling/), [Configuration Options](https://docs.crawl4ai.com/core/browser-crawler-config/), [Result Processing](https://docs.crawl4ai.com/core/crawler-result/), [Table Extraction](https://docs.crawl4ai.com/extraction/no-llm-strategies/) +--- + + +## Configuration Objects and System Architecture + +Visual representations of Crawl4AI's configuration system, object relationships, and data flow patterns. + +### Configuration Object Relationships + +```mermaid +classDiagram + class BrowserConfig { + +browser_type: str + +headless: bool + +viewport_width: int + +viewport_height: int + +proxy: str + +user_agent: str + +cookies: list + +headers: dict + +clone() BrowserConfig + +to_dict() dict + } + + class CrawlerRunConfig { + +cache_mode: CacheMode + +extraction_strategy: ExtractionStrategy + +markdown_generator: MarkdownGenerator + +js_code: list + +wait_for: str + +screenshot: bool + +session_id: str + +clone() CrawlerRunConfig + +dump() dict + } + + class LLMConfig { + +provider: str + +api_token: str + +base_url: str + +temperature: float + +max_tokens: int + +clone() LLMConfig + +to_dict() dict + } + + class CrawlResult { + +url: str + +success: bool + +html: str + +cleaned_html: str + +markdown: MarkdownGenerationResult + +extracted_content: str + +media: dict + +links: dict + +screenshot: str + +pdf: bytes + } + + class AsyncWebCrawler { + +config: BrowserConfig + +arun() CrawlResult + } + + AsyncWebCrawler --> BrowserConfig : uses + AsyncWebCrawler --> CrawlerRunConfig : accepts + CrawlerRunConfig --> LLMConfig : contains + AsyncWebCrawler --> CrawlResult : returns + + note for BrowserConfig "Controls browser\nenvironment and behavior" + note for CrawlerRunConfig "Controls individual\ncrawl operations" + note for LLMConfig "Configures LLM\nproviders and parameters" + note for CrawlResult "Contains all crawl\noutputs and metadata" +``` + +### Configuration Decision Flow + +```mermaid +flowchart TD + A[Start Configuration] --> B{Use Case Type?} + + B -->|Simple Web Scraping| C[Basic Config Pattern] + B -->|Data Extraction| D[Extraction Config Pattern] + B -->|Stealth Crawling| E[Stealth Config Pattern] + B -->|High Performance| F[Performance Config Pattern] + + C --> C1[BrowserConfig: headless=True] + C --> C2[CrawlerRunConfig: basic options] + C1 --> C3[No LLMConfig needed] + C2 --> C3 + C3 --> G[Simple Crawling Ready] + + D --> D1[BrowserConfig: standard setup] + D --> D2[CrawlerRunConfig: with extraction_strategy] + D --> D3[LLMConfig: for LLM extraction] + D1 --> D4[Advanced Extraction Ready] + D2 --> D4 + D3 --> D4 + + E --> E1[BrowserConfig: proxy + user_agent] + E --> E2[CrawlerRunConfig: simulate_user=True] + E1 --> E3[Stealth Crawling Ready] + E2 --> E3 + + F --> F1[BrowserConfig: lightweight] + F --> F2[CrawlerRunConfig: caching + concurrent] + F1 --> F3[High Performance Ready] + F2 --> F3 + + G --> H[Execute Crawl] + D4 --> H + E3 --> H + F3 --> H + + H --> I[Get CrawlResult] + + style A fill:#e1f5fe + style I fill:#c8e6c9 + style G fill:#fff3e0 + style D4 fill:#f3e5f5 + style E3 fill:#ffebee + style F3 fill:#e8f5e8 +``` + +### Configuration Lifecycle Sequence + +```mermaid +sequenceDiagram + participant User + participant BrowserConfig as Browser Config + participant CrawlerConfig as Crawler Config + participant LLMConfig as LLM Config + participant Crawler as AsyncWebCrawler + participant Browser as Browser Instance + participant Result as CrawlResult + + User->>BrowserConfig: Create with browser settings + User->>CrawlerConfig: Create with crawl options + User->>LLMConfig: Create with LLM provider + + User->>Crawler: Initialize with BrowserConfig + Crawler->>Browser: Launch browser with config + Browser-->>Crawler: Browser ready + + User->>Crawler: arun(url, CrawlerConfig) + Crawler->>Crawler: Apply CrawlerConfig settings + + alt LLM Extraction Needed + Crawler->>LLMConfig: Get LLM settings + LLMConfig-->>Crawler: Provider configuration + end + + Crawler->>Browser: Navigate with settings + Browser->>Browser: Apply page interactions + Browser->>Browser: Execute JavaScript if specified + Browser->>Browser: Wait for conditions + + Browser-->>Crawler: Page content ready + Crawler->>Crawler: Process content per config + Crawler->>Result: Create CrawlResult + + Result-->>User: Return complete result + + Note over User,Result: Configuration objects control every aspect +``` + +### BrowserConfig Parameter Flow + +```mermaid +graph TB + subgraph "BrowserConfig Parameters" + A[browser_type] --> A1[chromium/firefox/webkit] + B[headless] --> B1[true: invisible / false: visible] + C[viewport] --> C1[width x height dimensions] + D[proxy] --> D1[proxy server configuration] + E[user_agent] --> E1[browser identification string] + F[cookies] --> F1[session authentication] + G[headers] --> G1[HTTP request headers] + H[extra_args] --> H1[browser command line flags] + end + + subgraph "Browser Instance" + I[Playwright Browser] + J[Browser Context] + K[Page Instance] + end + + A1 --> I + B1 --> I + C1 --> J + D1 --> J + E1 --> J + F1 --> J + G1 --> J + H1 --> I + + I --> J + J --> K + + style I fill:#e3f2fd + style J fill:#f3e5f5 + style K fill:#e8f5e8 +``` + +### CrawlerRunConfig Category Breakdown + +```mermaid +mindmap + root((CrawlerRunConfig)) + Content Processing + word_count_threshold + css_selector + target_elements + excluded_tags + markdown_generator + extraction_strategy + Page Navigation + wait_until + page_timeout + wait_for + wait_for_images + delay_before_return_html + Page Interaction + js_code + scan_full_page + simulate_user + magic + remove_overlay_elements + Caching Session + cache_mode + session_id + shared_data + Media Output + screenshot + pdf + capture_mhtml + image_score_threshold + Link Filtering + exclude_external_links + exclude_domains + exclude_social_media_links +``` + +### LLM Provider Selection Flow + +```mermaid +flowchart TD + A[Need LLM Processing?] --> B{Provider Type?} + + B -->|Cloud API| C{Which Service?} + B -->|Local Model| D[Local Setup] + B -->|Custom Endpoint| E[Custom Config] + + C -->|OpenAI| C1[OpenAI GPT Models] + C -->|Anthropic| C2[Claude Models] + C -->|Google| C3[Gemini Models] + C -->|Groq| C4[Fast Inference] + + D --> D1[Ollama Setup] + E --> E1[Custom base_url] + + C1 --> F1[LLMConfig with OpenAI settings] + C2 --> F2[LLMConfig with Anthropic settings] + C3 --> F3[LLMConfig with Google settings] + C4 --> F4[LLMConfig with Groq settings] + D1 --> F5[LLMConfig with Ollama settings] + E1 --> F6[LLMConfig with custom settings] + + F1 --> G[Use in Extraction Strategy] + F2 --> G + F3 --> G + F4 --> G + F5 --> G + F6 --> G + + style A fill:#e1f5fe + style G fill:#c8e6c9 +``` + +### CrawlResult Structure and Data Flow + +```mermaid +graph TB + subgraph "CrawlResult Output" + A[Basic Info] + B[HTML Content] + C[Markdown Output] + D[Extracted Data] + E[Media Files] + F[Metadata] + end + + subgraph "Basic Info Details" + A --> A1[url: final URL] + A --> A2[success: boolean] + A --> A3[status_code: HTTP status] + A --> A4[error_message: if failed] + end + + subgraph "HTML Content Types" + B --> B1[html: raw HTML] + B --> B2[cleaned_html: processed] + B --> B3[fit_html: filtered content] + end + + subgraph "Markdown Variants" + C --> C1[raw_markdown: basic conversion] + C --> C2[markdown_with_citations: with refs] + C --> C3[fit_markdown: filtered content] + C --> C4[references_markdown: citation list] + end + + subgraph "Extracted Content" + D --> D1[extracted_content: JSON string] + D --> D2[From CSS extraction] + D --> D3[From LLM extraction] + D --> D4[From XPath extraction] + end + + subgraph "Media and Links" + E --> E1[images: list with scores] + E --> E2[videos: media content] + E --> E3[internal_links: same domain] + E --> E4[external_links: other domains] + end + + subgraph "Generated Files" + F --> F1[screenshot: base64 PNG] + F --> F2[pdf: binary PDF data] + F --> F3[mhtml: archive format] + F --> F4[ssl_certificate: cert info] + end + + style A fill:#e3f2fd + style B fill:#f3e5f5 + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#ffebee + style F fill:#f1f8e9 +``` + +### Configuration Pattern State Machine + +```mermaid +stateDiagram-v2 + [*] --> ConfigCreation + + ConfigCreation --> BasicConfig: Simple use case + ConfigCreation --> AdvancedConfig: Complex requirements + ConfigCreation --> TemplateConfig: Use predefined pattern + + BasicConfig --> Validation: Check parameters + AdvancedConfig --> Validation: Check parameters + TemplateConfig --> Validation: Check parameters + + Validation --> Invalid: Missing required fields + Validation --> Valid: All parameters correct + + Invalid --> ConfigCreation: Fix and retry + + Valid --> InUse: Passed to crawler + InUse --> Cloning: Need variation + InUse --> Serialization: Save configuration + InUse --> Complete: Crawl finished + + Cloning --> Modified: clone() with updates + Modified --> Valid: Validate changes + + Serialization --> Stored: dump() to dict + Stored --> Restoration: load() from dict + Restoration --> Valid: Recreate config object + + Complete --> [*] + + note right of BasicConfig : Minimal required settings + note right of AdvancedConfig : Full feature configuration + note right of TemplateConfig : Pre-built patterns +``` + +### Configuration Integration Architecture + +```mermaid +graph TB + subgraph "User Layer" + U1[Configuration Creation] + U2[Parameter Selection] + U3[Pattern Application] + end + + subgraph "Configuration Layer" + C1[BrowserConfig] + C2[CrawlerRunConfig] + C3[LLMConfig] + C4[Config Validation] + C5[Config Cloning] + end + + subgraph "Crawler Engine" + E1[Browser Management] + E2[Page Navigation] + E3[Content Processing] + E4[Extraction Pipeline] + E5[Result Generation] + end + + subgraph "Output Layer" + O1[CrawlResult Assembly] + O2[Data Formatting] + O3[File Generation] + O4[Metadata Collection] + end + + U1 --> C1 + U2 --> C2 + U3 --> C3 + + C1 --> C4 + C2 --> C4 + C3 --> C4 + + C4 --> E1 + C2 --> E2 + C2 --> E3 + C3 --> E4 + + E1 --> E2 + E2 --> E3 + E3 --> E4 + E4 --> E5 + + E5 --> O1 + O1 --> O2 + O2 --> O3 + O3 --> O4 + + C5 -.-> C1 + C5 -.-> C2 + C5 -.-> C3 + + style U1 fill:#e1f5fe + style C4 fill:#fff3e0 + style E4 fill:#f3e5f5 + style O4 fill:#c8e6c9 +``` + +### Configuration Best Practices Flow + +```mermaid +flowchart TD + A[Configuration Planning] --> B{Performance Priority?} + + B -->|Speed| C[Fast Config Pattern] + B -->|Quality| D[Comprehensive Config Pattern] + B -->|Stealth| E[Stealth Config Pattern] + B -->|Balanced| F[Standard Config Pattern] + + C --> C1[Enable caching] + C --> C2[Disable heavy features] + C --> C3[Use text_mode] + C1 --> G[Apply Configuration] + C2 --> G + C3 --> G + + D --> D1[Enable all processing] + D --> D2[Use content filters] + D --> D3[Capture everything] + D1 --> G + D2 --> G + D3 --> G + + E --> E1[Rotate user agents] + E --> E2[Use proxies] + E --> E3[Simulate human behavior] + E1 --> G + E2 --> G + E3 --> G + + F --> F1[Balanced timeouts] + F --> F2[Selective processing] + F --> F3[Smart caching] + F1 --> G + F2 --> G + F3 --> G + + G --> H[Test Configuration] + H --> I{Results Satisfactory?} + + I -->|Yes| J[Production Ready] + I -->|No| K[Adjust Parameters] + + K --> L[Clone and Modify] + L --> H + + J --> M[Deploy with Confidence] + + style A fill:#e1f5fe + style J fill:#c8e6c9 + style M fill:#e8f5e8 +``` + +## Advanced Configuration Workflows and Patterns + +Visual representations of advanced Crawl4AI configuration strategies, proxy management, session handling, and identity-based crawling patterns. + +### User Agent and Anti-Detection Strategy Flow + +```mermaid +flowchart TD + A[Start Configuration] --> B{Detection Avoidance Needed?} + + B -->|No| C[Standard User Agent] + B -->|Yes| D[Anti-Detection Strategy] + + C --> C1[Static user_agent string] + C1 --> Z[Basic Configuration] + + D --> E{User Agent Strategy} + E -->|Random| F[user_agent_mode: random] + E -->|Static Custom| G[Custom user_agent string] + E -->|Platform Specific| H[Generator Config] + + F --> I[Configure Generator] + H --> I + I --> I1[Platform: windows/macos/linux] + I1 --> I2[Browser: chrome/firefox/safari] + I2 --> I3[Device: desktop/mobile/tablet] + + G --> J[Behavioral Simulation] + I3 --> J + + J --> K{Enable Simulation?} + K -->|Yes| L[simulate_user: True] + K -->|No| M[Standard Behavior] + + L --> N[override_navigator: True] + N --> O[Configure Delays] + O --> O1[mean_delay: 1.5] + O1 --> O2[max_range: 2.0] + O2 --> P[Magic Mode] + + M --> P + P --> Q{Auto-Handle Patterns?} + Q -->|Yes| R[magic: True] + Q -->|No| S[Manual Handling] + + R --> T[Complete Anti-Detection Setup] + S --> T + Z --> T + + style D fill:#ffeb3b + style T fill:#c8e6c9 + style L fill:#ff9800 + style R fill:#9c27b0 +``` + +### Proxy Configuration and Rotation Architecture + +```mermaid +graph TB + subgraph "Proxy Configuration Types" + A[Single Proxy] --> A1[ProxyConfig object] + B[Proxy String] --> B1[from_string method] + C[Environment Proxies] --> C1[from_env method] + D[Multiple Proxies] --> D1[ProxyRotationStrategy] + end + + subgraph "ProxyConfig Structure" + A1 --> E[server: URL] + A1 --> F[username: auth] + A1 --> G[password: auth] + A1 --> H[ip: extracted] + end + + subgraph "Rotation Strategies" + D1 --> I[round_robin] + D1 --> J[random] + D1 --> K[least_used] + D1 --> L[failure_aware] + end + + subgraph "Configuration Flow" + M[CrawlerRunConfig] --> N[proxy_config] + M --> O[proxy_rotation_strategy] + N --> P[Single Proxy Usage] + O --> Q[Multi-Proxy Rotation] + end + + subgraph "Runtime Behavior" + P --> R[All requests use same proxy] + Q --> S[Requests rotate through proxies] + S --> T[Health monitoring] + T --> U[Automatic failover] + end + + style A1 fill:#e3f2fd + style D1 fill:#f3e5f5 + style M fill:#e8f5e8 + style T fill:#fff3e0 +``` + +### Content Selection Strategy Comparison + +```mermaid +sequenceDiagram + participant Browser + participant HTML as Raw HTML + participant CSS as css_selector + participant Target as target_elements + participant Processor as Content Processor + participant Output + + Note over Browser,Output: css_selector Strategy + Browser->>HTML: Load complete page + HTML->>CSS: Apply css_selector + CSS->>CSS: Extract matching elements only + CSS->>Processor: Process subset HTML + Processor->>Output: Markdown + Extraction from subset + + Note over Browser,Output: target_elements Strategy + Browser->>HTML: Load complete page + HTML->>Processor: Process entire page + Processor->>Target: Focus on target_elements + Target->>Target: Extract from specified elements + Processor->>Output: Full page links/media + targeted content + + Note over CSS,Target: Key Difference + Note over CSS: Affects entire processing pipeline + Note over Target: Affects only content extraction +``` + +### Advanced wait_for Conditions Decision Tree + +```mermaid +flowchart TD + A[Configure wait_for] --> B{Condition Type?} + + B -->|CSS Element| C[CSS Selector Wait] + B -->|JavaScript Condition| D[JS Expression Wait] + B -->|Complex Logic| E[Custom JS Function] + B -->|No Wait| F[Default domcontentloaded] + + C --> C1["wait_for: 'css:.element'"] + C1 --> C2[Element appears in DOM] + C2 --> G[Continue Processing] + + D --> D1["wait_for: 'js:() => condition'"] + D1 --> D2[JavaScript returns true] + D2 --> G + + E --> E1[Complex JS Function] + E1 --> E2{Multiple Conditions} + E2 -->|AND Logic| E3[All conditions true] + E2 -->|OR Logic| E4[Any condition true] + E2 -->|Custom Logic| E5[User-defined logic] + + E3 --> G + E4 --> G + E5 --> G + + F --> G + + G --> H{Timeout Reached?} + H -->|No| I[Page Ready] + H -->|Yes| J[Timeout Error] + + I --> K[Begin Content Extraction] + J --> L[Handle Error/Retry] + + style C1 fill:#e8f5e8 + style D1 fill:#fff3e0 + style E1 fill:#ffeb3b + style I fill:#c8e6c9 + style J fill:#ffcdd2 +``` + +### Session Management Lifecycle + +```mermaid +stateDiagram-v2 + [*] --> SessionCreate + + SessionCreate --> SessionActive: session_id provided + SessionCreate --> OneTime: no session_id + + SessionActive --> BrowserLaunch: First arun() call + BrowserLaunch --> PageLoad: Navigate to URL + PageLoad --> JSExecution: Execute js_code + JSExecution --> ContentExtract: Extract content + ContentExtract --> SessionHold: Keep session alive + + SessionHold --> ReuseSession: Subsequent arun() calls + ReuseSession --> JSOnlyMode: js_only=True + ReuseSession --> NewNavigation: js_only=False + + JSOnlyMode --> JSExecution: Execute JS in existing page + NewNavigation --> PageLoad: Navigate to new URL + + SessionHold --> SessionKill: kill_session() called + SessionHold --> SessionTimeout: Timeout reached + SessionHold --> SessionError: Error occurred + + SessionKill --> SessionCleanup + SessionTimeout --> SessionCleanup + SessionError --> SessionCleanup + SessionCleanup --> [*] + + OneTime --> BrowserLaunch + ContentExtract --> OneTimeCleanup: No session_id + OneTimeCleanup --> [*] + + note right of SessionActive : Persistent browser context + note right of JSOnlyMode : Reuse existing page + note right of OneTime : Temporary browser instance +``` + +### Identity-Based Crawling Configuration Matrix + +```mermaid +graph TD + subgraph "Geographic Identity" + A[Geolocation] --> A1[latitude/longitude] + A2[Timezone] --> A3[timezone_id] + A4[Locale] --> A5[language/region] + end + + subgraph "Browser Identity" + B[User Agent] --> B1[Platform fingerprint] + B2[Navigator Properties] --> B3[override_navigator] + B4[Headers] --> B5[Accept-Language] + end + + subgraph "Behavioral Identity" + C[Mouse Simulation] --> C1[simulate_user] + C2[Timing Patterns] --> C3[mean_delay/max_range] + C4[Interaction Patterns] --> C5[Human-like behavior] + end + + subgraph "Configuration Integration" + D[CrawlerRunConfig] --> A + D --> B + D --> C + + D --> E[Complete Identity Profile] + + E --> F[Geographic Consistency] + E --> G[Browser Consistency] + E --> H[Behavioral Consistency] + end + + F --> I[Paris, France Example] + I --> I1[locale: fr-FR] + I --> I2[timezone: Europe/Paris] + I --> I3[geolocation: 48.8566, 2.3522] + + G --> J[Windows Chrome Example] + J --> J1[platform: windows] + J --> J2[browser: chrome] + J --> J3[user_agent: matching pattern] + + H --> K[Human Simulation] + K --> K1[Random delays] + K --> K2[Mouse movements] + K --> K3[Navigation patterns] + + style E fill:#ff9800 + style I fill:#e3f2fd + style J fill:#f3e5f5 + style K fill:#e8f5e8 +``` + +### Multi-Step Crawling Sequence Flow + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant Session as Browser Session + participant Page1 as Login Page + participant Page2 as Dashboard + participant Page3 as Data Pages + + User->>Crawler: Step 1 - Login + Crawler->>Session: Create session_id="user_session" + Session->>Page1: Navigate to login + Page1->>Page1: Execute login JS + Page1->>Page1: Wait for dashboard redirect + Page1-->>Crawler: Login complete + + User->>Crawler: Step 2 - Navigate dashboard + Note over Crawler,Session: Reuse existing session + Crawler->>Session: js_only=True (no page reload) + Session->>Page2: Execute navigation JS + Page2->>Page2: Wait for data table + Page2-->>Crawler: Dashboard ready + + User->>Crawler: Step 3 - Extract data pages + loop For each page 1-5 + Crawler->>Session: js_only=True + Session->>Page3: Click page button + Page3->>Page3: Wait for page active + Page3->>Page3: Extract content + Page3-->>Crawler: Page data + end + + User->>Crawler: Cleanup + Crawler->>Session: kill_session() + Session-->>Crawler: Session destroyed +``` + +### Configuration Import and Usage Patterns + +```mermaid +graph LR + subgraph "Main Package Imports" + A[crawl4ai] --> A1[AsyncWebCrawler] + A --> A2[BrowserConfig] + A --> A3[CrawlerRunConfig] + A --> A4[LLMConfig] + A --> A5[CacheMode] + A --> A6[ProxyConfig] + A --> A7[GeolocationConfig] + end + + subgraph "Strategy Imports" + A --> B1[JsonCssExtractionStrategy] + A --> B2[LLMExtractionStrategy] + A --> B3[DefaultMarkdownGenerator] + A --> B4[PruningContentFilter] + A --> B5[RegexChunking] + end + + subgraph "Configuration Assembly" + C[Configuration Builder] --> A2 + C --> A3 + C --> A4 + + A2 --> D[Browser Environment] + A3 --> E[Crawl Behavior] + A4 --> F[LLM Integration] + + E --> B1 + E --> B2 + E --> B3 + E --> B4 + E --> B5 + end + + subgraph "Runtime Flow" + G[Crawler Instance] --> D + G --> H[Execute Crawl] + H --> E + H --> F + H --> I[CrawlResult] + end + + style A fill:#e3f2fd + style C fill:#fff3e0 + style G fill:#e8f5e8 + style I fill:#c8e6c9 +``` + +### Advanced Configuration Decision Matrix + +```mermaid +flowchart TD + A[Advanced Configuration Needed] --> B{Primary Use Case?} + + B -->|Bot Detection Avoidance| C[Anti-Detection Setup] + B -->|Geographic Simulation| D[Identity-Based Config] + B -->|Multi-Step Workflows| E[Session Management] + B -->|Network Reliability| F[Proxy Configuration] + B -->|Content Precision| G[Selector Strategy] + + C --> C1[Random User Agents] + C --> C2[Behavioral Simulation] + C --> C3[Navigator Override] + C --> C4[Magic Mode] + + D --> D1[Geolocation Setup] + D --> D2[Locale Configuration] + D --> D3[Timezone Setting] + D --> D4[Browser Fingerprinting] + + E --> E1[Session ID Management] + E --> E2[JS-Only Navigation] + E --> E3[Shared Data Context] + E --> E4[Session Cleanup] + + F --> F1[Single Proxy] + F --> F2[Proxy Rotation] + F --> F3[Failover Strategy] + F --> F4[Health Monitoring] + + G --> G1[css_selector for Subset] + G --> G2[target_elements for Focus] + G --> G3[excluded_selector for Removal] + G --> G4[Hierarchical Selection] + + C1 --> H[Production Configuration] + C2 --> H + C3 --> H + C4 --> H + D1 --> H + D2 --> H + D3 --> H + D4 --> H + E1 --> H + E2 --> H + E3 --> H + E4 --> H + F1 --> H + F2 --> H + F3 --> H + F4 --> H + G1 --> H + G2 --> H + G3 --> H + G4 --> H + + style H fill:#c8e6c9 + style C fill:#ff9800 + style D fill:#9c27b0 + style E fill:#2196f3 + style F fill:#4caf50 + style G fill:#ff5722 +``` + +## Advanced Features Workflows and Architecture + +Visual representations of advanced crawling capabilities, session management, hooks system, and performance optimization strategies. + +### File Download Workflow + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant Browser + participant FileSystem + participant Page + + User->>Crawler: Configure downloads_path + Crawler->>Browser: Create context with download handling + Browser-->>Crawler: Context ready + + Crawler->>Page: Navigate to target URL + Page-->>Crawler: Page loaded + + Crawler->>Page: Execute download JavaScript + Page->>Page: Find download links (.pdf, .zip, etc.) + + loop For each download link + Page->>Browser: Click download link + Browser->>FileSystem: Save file to downloads_path + FileSystem-->>Browser: File saved + Browser-->>Page: Download complete + end + + Page-->>Crawler: All downloads triggered + Crawler->>FileSystem: Check downloaded files + FileSystem-->>Crawler: List of file paths + Crawler-->>User: CrawlResult with downloaded_files[] + + Note over User,FileSystem: Files available in downloads_path +``` + +### Hooks Execution Flow + +```mermaid +flowchart TD + A[Start Crawl] --> B[on_browser_created Hook] + B --> C[Browser Instance Created] + C --> D[on_page_context_created Hook] + D --> E[Page & Context Setup] + E --> F[before_goto Hook] + F --> G[Navigate to URL] + G --> H[after_goto Hook] + H --> I[Page Loaded] + I --> J[before_retrieve_html Hook] + J --> K[Extract HTML Content] + K --> L[Return CrawlResult] + + subgraph "Hook Capabilities" + B1[Route Filtering] + B2[Authentication] + B3[Custom Headers] + B4[Viewport Setup] + B5[Content Manipulation] + end + + D --> B1 + F --> B2 + F --> B3 + D --> B4 + J --> B5 + + style A fill:#e1f5fe + style L fill:#c8e6c9 + style B fill:#fff3e0 + style D fill:#f3e5f5 + style F fill:#e8f5e8 + style H fill:#fce4ec + style J fill:#fff9c4 +``` + +### Session Management State Machine + +```mermaid +stateDiagram-v2 + [*] --> SessionCreated: session_id provided + + SessionCreated --> PageLoaded: Initial arun() + PageLoaded --> JavaScriptExecution: js_code executed + JavaScriptExecution --> ContentUpdated: DOM modified + ContentUpdated --> NextOperation: js_only=True + + NextOperation --> JavaScriptExecution: More interactions + NextOperation --> SessionMaintained: Keep session alive + NextOperation --> SessionClosed: kill_session() + + SessionMaintained --> PageLoaded: Navigate to new URL + SessionMaintained --> JavaScriptExecution: Continue interactions + + SessionClosed --> [*]: Session terminated + + note right of SessionCreated + Browser tab created + Context preserved + end note + + note right of ContentUpdated + State maintained + Cookies preserved + Local storage intact + end note + + note right of SessionClosed + Clean up resources + Release browser tab + end note +``` + +### Lazy Loading & Dynamic Content Strategy + +```mermaid +flowchart TD + A[Page Load] --> B{Content Type?} + + B -->|Static Content| C[Standard Extraction] + B -->|Lazy Loaded| D[Enable scan_full_page] + B -->|Infinite Scroll| E[Custom Scroll Strategy] + B -->|Load More Button| F[JavaScript Interaction] + + D --> D1[Automatic Scrolling] + D1 --> D2[Wait for Images] + D2 --> D3[Content Stabilization] + + E --> E1[Detect Scroll Triggers] + E1 --> E2[Progressive Loading] + E2 --> E3[Monitor Content Changes] + + F --> F1[Find Load More Button] + F1 --> F2[Click and Wait] + F2 --> F3{More Content?} + F3 -->|Yes| F1 + F3 -->|No| G[Complete Extraction] + + D3 --> G + E3 --> G + C --> G + + G --> H[Return Enhanced Content] + + subgraph "Optimization Techniques" + I[exclude_external_images] + J[image_score_threshold] + K[wait_for selectors] + L[scroll_delay tuning] + end + + D --> I + E --> J + F --> K + D1 --> L + + style A fill:#e1f5fe + style H fill:#c8e6c9 + style D fill:#fff3e0 + style E fill:#f3e5f5 + style F fill:#e8f5e8 +``` + +### Network & Console Monitoring Architecture + +```mermaid +graph TB + subgraph "Browser Context" + A[Web Page] --> B[Network Requests] + A --> C[Console Messages] + A --> D[Resource Loading] + end + + subgraph "Monitoring Layer" + B --> E[Request Interceptor] + C --> F[Console Listener] + D --> G[Resource Monitor] + + E --> H[Request Events] + E --> I[Response Events] + E --> J[Failure Events] + + F --> K[Log Messages] + F --> L[Error Messages] + F --> M[Warning Messages] + end + + subgraph "Data Collection" + H --> N[Request Details] + I --> O[Response Analysis] + J --> P[Failure Tracking] + + K --> Q[Debug Information] + L --> R[Error Analysis] + M --> S[Performance Insights] + end + + subgraph "Output Aggregation" + N --> T[network_requests Array] + O --> T + P --> T + + Q --> U[console_messages Array] + R --> U + S --> U + end + + T --> V[CrawlResult] + U --> V + + style V fill:#c8e6c9 + style E fill:#fff3e0 + style F fill:#f3e5f5 + style T fill:#e8f5e8 + style U fill:#fce4ec +``` + +### Multi-Step Workflow Sequence + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant Session + participant Page + participant Server + + User->>Crawler: Step 1 - Initial load + Crawler->>Session: Create session_id + Session->>Page: New browser tab + Page->>Server: GET /step1 + Server-->>Page: Page content + Page-->>Crawler: Content ready + Crawler-->>User: Result 1 + + User->>Crawler: Step 2 - Navigate (js_only=true) + Crawler->>Session: Reuse existing session + Session->>Page: Execute JavaScript + Page->>Page: Click next button + Page->>Server: Navigate to /step2 + Server-->>Page: New content + Page-->>Crawler: Updated content + Crawler-->>User: Result 2 + + User->>Crawler: Step 3 - Form submission + Crawler->>Session: Continue session + Session->>Page: Execute form JS + Page->>Page: Fill form fields + Page->>Server: POST form data + Server-->>Page: Results page + Page-->>Crawler: Final content + Crawler-->>User: Result 3 + + User->>Crawler: Cleanup + Crawler->>Session: kill_session() + Session->>Page: Close tab + Session-->>Crawler: Session terminated + + Note over User,Server: State preserved across steps + Note over Session: Cookies, localStorage maintained +``` + +### SSL Certificate Analysis Flow + +```mermaid +flowchart LR + A[Enable SSL Fetch] --> B[HTTPS Connection] + B --> C[Certificate Retrieval] + C --> D[Certificate Analysis] + + D --> E[Basic Info] + D --> F[Validity Check] + D --> G[Chain Verification] + D --> H[Security Assessment] + + E --> E1[Issuer Details] + E --> E2[Subject Information] + E --> E3[Serial Number] + + F --> F1[Not Before Date] + F --> F2[Not After Date] + F --> F3[Expiration Warning] + + G --> G1[Root CA] + G --> G2[Intermediate Certs] + G --> G3[Trust Path] + + H --> H1[Key Length] + H --> H2[Signature Algorithm] + H --> H3[Vulnerabilities] + + subgraph "Export Formats" + I[JSON Format] + J[PEM Format] + K[DER Format] + end + + E1 --> I + F1 --> I + G1 --> I + H1 --> I + + I --> J + J --> K + + style A fill:#e1f5fe + style D fill:#fff3e0 + style I fill:#e8f5e8 + style J fill:#f3e5f5 + style K fill:#fce4ec +``` + +### Performance Optimization Decision Tree + +```mermaid +flowchart TD + A[Performance Optimization] --> B{Primary Goal?} + + B -->|Speed| C[Fast Crawling Mode] + B -->|Resource Usage| D[Memory Optimization] + B -->|Scale| E[Batch Processing] + B -->|Quality| F[Comprehensive Extraction] + + C --> C1[text_mode=True] + C --> C2[exclude_all_images=True] + C --> C3[excluded_tags=['script','style']] + C --> C4[page_timeout=30000] + + D --> D1[light_mode=True] + D --> D2[headless=True] + D --> D3[semaphore_count=3] + D --> D4[disable monitoring] + + E --> E1[stream=True] + E --> E2[cache_mode=ENABLED] + E --> E3[arun_many()] + E --> E4[concurrent batches] + + F --> F1[wait_for_images=True] + F --> F2[process_iframes=True] + F --> F3[capture_network=True] + F --> F4[screenshot=True] + + subgraph "Trade-offs" + G[Speed vs Quality] + H[Memory vs Features] + I[Scale vs Detail] + end + + C --> G + D --> H + E --> I + + subgraph "Monitoring Metrics" + J[Response Time] + K[Memory Usage] + L[Success Rate] + M[Content Quality] + end + + C1 --> J + D1 --> K + E1 --> L + F1 --> M + + style A fill:#e1f5fe + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#f3e5f5 + style F fill:#fce4ec +``` + +### Advanced Page Interaction Matrix + +```mermaid +graph LR + subgraph "Interaction Types" + A[Form Filling] + B[Dynamic Loading] + C[Modal Handling] + D[Scroll Interactions] + E[Button Clicks] + end + + subgraph "Detection Methods" + F[CSS Selectors] + G[JavaScript Conditions] + H[Element Visibility] + I[Content Changes] + J[Network Activity] + end + + subgraph "Automation Features" + K[simulate_user=True] + L[magic=True] + M[remove_overlay_elements=True] + N[override_navigator=True] + O[scan_full_page=True] + end + + subgraph "Wait Strategies" + P[wait_for CSS] + Q[wait_for JS] + R[wait_for_images] + S[delay_before_return] + T[custom timeouts] + end + + A --> F + A --> K + A --> P + + B --> G + B --> O + B --> Q + + C --> H + C --> L + C --> M + + D --> I + D --> O + D --> S + + E --> F + E --> K + E --> T + + style A fill:#e8f5e8 + style B fill:#fff3e0 + style C fill:#f3e5f5 + style D fill:#fce4ec + style E fill:#e1f5fe +``` + +### Input Source Processing Flow + +```mermaid +flowchart TD + A[Input Source] --> B{Input Type?} + + B -->|URL| C[Web Request] + B -->|file://| D[Local File] + B -->|raw:| E[Raw HTML] + + C --> C1[HTTP/HTTPS Request] + C1 --> C2[Browser Navigation] + C2 --> C3[Page Rendering] + C3 --> F[Content Processing] + + D --> D1[File System Access] + D1 --> D2[Read HTML File] + D2 --> D3[Parse Content] + D3 --> F + + E --> E1[Parse Raw HTML] + E1 --> E2[Create Virtual Page] + E2 --> E3[Direct Processing] + E3 --> F + + F --> G[Common Processing Pipeline] + G --> H[Markdown Generation] + G --> I[Link Extraction] + G --> J[Media Processing] + G --> K[Data Extraction] + + H --> L[CrawlResult] + I --> L + J --> L + K --> L + + subgraph "Processing Features" + M[Same extraction strategies] + N[Same filtering options] + O[Same output formats] + P[Consistent results] + end + + F --> M + F --> N + F --> O + F --> P + + style A fill:#e1f5fe + style L fill:#c8e6c9 + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#f3e5f5 +``` + +**📖 Learn more:** [Advanced Features Guide](https://docs.crawl4ai.com/advanced/advanced-features/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Hooks System](https://docs.crawl4ai.com/advanced/hooks-auth/), [Performance Optimization](https://docs.crawl4ai.com/advanced/performance/) + +**📖 Learn more:** [Identity-Based Crawling](https://docs.crawl4ai.com/advanced/identity-based-crawling/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Proxy & Security](https://docs.crawl4ai.com/advanced/proxy-security/), [Content Selection](https://docs.crawl4ai.com/core/content-selection/) + +**📖 Learn more:** [Configuration Reference](https://docs.crawl4ai.com/api/parameters/), [Best Practices](https://docs.crawl4ai.com/core/browser-crawler-config/), [Advanced Configuration](https://docs.crawl4ai.com/advanced/advanced-features/) +--- + + +## Extraction Strategy Workflows and Architecture + +Visual representations of Crawl4AI's data extraction approaches, strategy selection, and processing workflows. + +### Extraction Strategy Decision Tree + +```mermaid +flowchart TD + A[Content to Extract] --> B{Content Type?} + + B -->|Simple Patterns| C[Common Data Types] + B -->|Structured HTML| D[Predictable Structure] + B -->|Complex Content| E[Requires Reasoning] + B -->|Mixed Content| F[Multiple Data Types] + + C --> C1{Pattern Type?} + C1 -->|Email, Phone, URLs| C2[Built-in Regex Patterns] + C1 -->|Custom Patterns| C3[Custom Regex Strategy] + C1 -->|LLM-Generated| C4[One-time Pattern Generation] + + D --> D1{Selector Type?} + D1 -->|CSS Selectors| D2[JsonCssExtractionStrategy] + D1 -->|XPath Expressions| D3[JsonXPathExtractionStrategy] + D1 -->|Need Schema?| D4[Auto-generate Schema with LLM] + + E --> E1{LLM Provider?} + E1 -->|OpenAI/Anthropic| E2[Cloud LLM Strategy] + E1 -->|Local Ollama| E3[Local LLM Strategy] + E1 -->|Cost-sensitive| E4[Hybrid: Generate Schema Once] + + F --> F1[Multi-Strategy Approach] + F1 --> F2[1. Regex for Patterns] + F1 --> F3[2. CSS for Structure] + F1 --> F4[3. LLM for Complex Analysis] + + C2 --> G[Fast Extraction ⚡] + C3 --> G + C4 --> H[Cached Pattern Reuse] + + D2 --> I[Schema-based Extraction 🏗️] + D3 --> I + D4 --> J[Generated Schema Cache] + + E2 --> K[Intelligent Parsing 🧠] + E3 --> K + E4 --> L[Hybrid Cost-Effective] + + F2 --> M[Comprehensive Results 📊] + F3 --> M + F4 --> M + + style G fill:#c8e6c9 + style I fill:#e3f2fd + style K fill:#fff3e0 + style M fill:#f3e5f5 + style H fill:#e8f5e8 + style J fill:#e8f5e8 + style L fill:#ffecb3 +``` + +### LLM Extraction Strategy Workflow + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant LLMStrategy + participant Chunker + participant LLMProvider + participant Parser + + User->>Crawler: Configure LLMExtractionStrategy + User->>Crawler: arun(url, config) + + Crawler->>Crawler: Navigate to URL + Crawler->>Crawler: Extract content (HTML/Markdown) + Crawler->>LLMStrategy: Process content + + LLMStrategy->>LLMStrategy: Check content size + + alt Content > chunk_threshold + LLMStrategy->>Chunker: Split into chunks with overlap + Chunker-->>LLMStrategy: Return chunks[] + + loop For each chunk + LLMStrategy->>LLMProvider: Send chunk + schema + instruction + LLMProvider-->>LLMStrategy: Return structured JSON + end + + LLMStrategy->>LLMStrategy: Merge chunk results + else Content <= threshold + LLMStrategy->>LLMProvider: Send full content + schema + LLMProvider-->>LLMStrategy: Return structured JSON + end + + LLMStrategy->>Parser: Validate JSON schema + Parser-->>LLMStrategy: Validated data + + LLMStrategy->>LLMStrategy: Track token usage + LLMStrategy-->>Crawler: Return extracted_content + + Crawler-->>User: CrawlResult with JSON data + + User->>LLMStrategy: show_usage() + LLMStrategy-->>User: Token count & estimated cost +``` + +### Schema-Based Extraction Architecture + +```mermaid +graph TB + subgraph "Schema Definition" + A[JSON Schema] --> A1[baseSelector] + A --> A2[fields[]] + A --> A3[nested structures] + + A2 --> A4[CSS/XPath selectors] + A2 --> A5[Data types: text, html, attribute] + A2 --> A6[Default values] + + A3 --> A7[nested objects] + A3 --> A8[nested_list arrays] + A3 --> A9[simple lists] + end + + subgraph "Extraction Engine" + B[HTML Content] --> C[Selector Engine] + C --> C1[CSS Selector Parser] + C --> C2[XPath Evaluator] + + C1 --> D[Element Matcher] + C2 --> D + + D --> E[Type Converter] + E --> E1[Text Extraction] + E --> E2[HTML Preservation] + E --> E3[Attribute Extraction] + E --> E4[Nested Processing] + end + + subgraph "Result Processing" + F[Raw Extracted Data] --> G[Structure Builder] + G --> G1[Object Construction] + G --> G2[Array Assembly] + G --> G3[Type Validation] + + G1 --> H[JSON Output] + G2 --> H + G3 --> H + end + + A --> C + E --> F + H --> I[extracted_content] + + style A fill:#e3f2fd + style C fill:#f3e5f5 + style G fill:#e8f5e8 + style H fill:#c8e6c9 +``` + +### Automatic Schema Generation Process + +```mermaid +stateDiagram-v2 + [*] --> CheckCache + + CheckCache --> CacheHit: Schema exists + CheckCache --> SamplePage: Schema missing + + CacheHit --> LoadSchema + LoadSchema --> FastExtraction + + SamplePage --> ExtractHTML: Crawl sample URL + ExtractHTML --> LLMAnalysis: Send HTML to LLM + LLMAnalysis --> GenerateSchema: Create CSS/XPath selectors + GenerateSchema --> ValidateSchema: Test generated schema + + ValidateSchema --> SchemaWorks: Valid selectors + ValidateSchema --> RefineSchema: Invalid selectors + + RefineSchema --> LLMAnalysis: Iterate with feedback + + SchemaWorks --> CacheSchema: Save for reuse + CacheSchema --> FastExtraction: Use cached schema + + FastExtraction --> [*]: No more LLM calls needed + + note right of CheckCache : One-time LLM cost + note right of FastExtraction : Unlimited fast reuse + note right of CacheSchema : JSON file storage +``` + +### Multi-Strategy Extraction Pipeline + +```mermaid +flowchart LR + A[Web Page Content] --> B[Strategy Pipeline] + + subgraph B["Extraction Pipeline"] + B1[Stage 1: Regex Patterns] + B2[Stage 2: Schema-based CSS] + B3[Stage 3: LLM Analysis] + + B1 --> B1a[Email addresses] + B1 --> B1b[Phone numbers] + B1 --> B1c[URLs and links] + B1 --> B1d[Currency amounts] + + B2 --> B2a[Structured products] + B2 --> B2b[Article metadata] + B2 --> B2c[User reviews] + B2 --> B2d[Navigation links] + + B3 --> B3a[Sentiment analysis] + B3 --> B3b[Key topics] + B3 --> B3c[Entity recognition] + B3 --> B3d[Content summary] + end + + B1a --> C[Result Merger] + B1b --> C + B1c --> C + B1d --> C + + B2a --> C + B2b --> C + B2c --> C + B2d --> C + + B3a --> C + B3b --> C + B3c --> C + B3d --> C + + C --> D[Combined JSON Output] + D --> E[Final CrawlResult] + + style B1 fill:#c8e6c9 + style B2 fill:#e3f2fd + style B3 fill:#fff3e0 + style C fill:#f3e5f5 +``` + +### Performance Comparison Matrix + +```mermaid +graph TD + subgraph "Strategy Performance" + A[Extraction Strategy Comparison] + + subgraph "Speed ⚡" + S1[Regex: ~10ms] + S2[CSS Schema: ~50ms] + S3[XPath: ~100ms] + S4[LLM: ~2-10s] + end + + subgraph "Accuracy 🎯" + A1[Regex: Pattern-dependent] + A2[CSS: High for structured] + A3[XPath: Very high] + A4[LLM: Excellent for complex] + end + + subgraph "Cost 💰" + C1[Regex: Free] + C2[CSS: Free] + C3[XPath: Free] + C4[LLM: $0.001-0.01 per page] + end + + subgraph "Complexity 🔧" + X1[Regex: Simple patterns only] + X2[CSS: Structured HTML] + X3[XPath: Complex selectors] + X4[LLM: Any content type] + end + end + + style S1 fill:#c8e6c9 + style S2 fill:#e8f5e8 + style S3 fill:#fff3e0 + style S4 fill:#ffcdd2 + + style A2 fill:#e8f5e8 + style A3 fill:#c8e6c9 + style A4 fill:#c8e6c9 + + style C1 fill:#c8e6c9 + style C2 fill:#c8e6c9 + style C3 fill:#c8e6c9 + style C4 fill:#fff3e0 + + style X1 fill:#ffcdd2 + style X2 fill:#e8f5e8 + style X3 fill:#c8e6c9 + style X4 fill:#c8e6c9 +``` + +### Regex Pattern Strategy Flow + +```mermaid +flowchart TD + A[Regex Extraction] --> B{Pattern Source?} + + B -->|Built-in| C[Use Predefined Patterns] + B -->|Custom| D[Define Custom Regex] + B -->|LLM-Generated| E[Generate with AI] + + C --> C1[Email Pattern] + C --> C2[Phone Pattern] + C --> C3[URL Pattern] + C --> C4[Currency Pattern] + C --> C5[Date Pattern] + + D --> D1[Write Custom Regex] + D --> D2[Test Pattern] + D --> D3{Pattern Works?} + D3 -->|No| D1 + D3 -->|Yes| D4[Use Pattern] + + E --> E1[Provide Sample Content] + E --> E2[LLM Analyzes Content] + E --> E3[Generate Optimized Regex] + E --> E4[Cache Pattern for Reuse] + + C1 --> F[Pattern Matching] + C2 --> F + C3 --> F + C4 --> F + C5 --> F + D4 --> F + E4 --> F + + F --> G[Extract Matches] + G --> H[Group by Pattern Type] + H --> I[JSON Output with Labels] + + style C fill:#e8f5e8 + style D fill:#e3f2fd + style E fill:#fff3e0 + style F fill:#f3e5f5 +``` + +### Complex Schema Structure Visualization + +```mermaid +graph TB + subgraph "E-commerce Schema Example" + A[Category baseSelector] --> B[Category Fields] + A --> C[Products nested_list] + + B --> B1[category_name] + B --> B2[category_id attribute] + B --> B3[category_url attribute] + + C --> C1[Product baseSelector] + C1 --> C2[name text] + C1 --> C3[price text] + C1 --> C4[Details nested object] + C1 --> C5[Features list] + C1 --> C6[Reviews nested_list] + + C4 --> C4a[brand text] + C4 --> C4b[model text] + C4 --> C4c[specs html] + + C5 --> C5a[feature text array] + + C6 --> C6a[reviewer text] + C6 --> C6b[rating attribute] + C6 --> C6c[comment text] + C6 --> C6d[date attribute] + end + + subgraph "JSON Output Structure" + D[categories array] --> D1[category object] + D1 --> D2[category_name] + D1 --> D3[category_id] + D1 --> D4[products array] + + D4 --> D5[product object] + D5 --> D6[name, price] + D5 --> D7[details object] + D5 --> D8[features array] + D5 --> D9[reviews array] + + D7 --> D7a[brand, model, specs] + D8 --> D8a[feature strings] + D9 --> D9a[review objects] + end + + A -.-> D + B1 -.-> D2 + C2 -.-> D6 + C4 -.-> D7 + C5 -.-> D8 + C6 -.-> D9 + + style A fill:#e3f2fd + style C fill:#f3e5f5 + style C4 fill:#e8f5e8 + style D fill:#fff3e0 +``` + +### Error Handling and Fallback Strategy + +```mermaid +stateDiagram-v2 + [*] --> PrimaryStrategy + + PrimaryStrategy --> Success: Extraction successful + PrimaryStrategy --> ValidationFailed: Invalid data + PrimaryStrategy --> ExtractionFailed: No matches found + PrimaryStrategy --> TimeoutError: LLM timeout + + ValidationFailed --> FallbackStrategy: Try alternative + ExtractionFailed --> FallbackStrategy: Try alternative + TimeoutError --> FallbackStrategy: Try alternative + + FallbackStrategy --> FallbackSuccess: Fallback works + FallbackStrategy --> FallbackFailed: All strategies failed + + FallbackSuccess --> Success: Return results + FallbackFailed --> ErrorReport: Log failure details + + Success --> [*]: Complete + ErrorReport --> [*]: Return empty results + + note right of PrimaryStrategy : Try fastest/most accurate first + note right of FallbackStrategy : Use simpler but reliable method + note left of ErrorReport : Provide debugging information +``` + +### Token Usage and Cost Optimization + +```mermaid +flowchart TD + A[LLM Extraction Request] --> B{Content Size Check} + + B -->|Small < 1200 tokens| C[Single LLM Call] + B -->|Large > 1200 tokens| D[Chunking Strategy] + + C --> C1[Send full content] + C1 --> C2[Parse JSON response] + C2 --> C3[Track token usage] + + D --> D1[Split into chunks] + D1 --> D2[Add overlap between chunks] + D2 --> D3[Process chunks in parallel] + + D3 --> D4[Chunk 1 → LLM] + D3 --> D5[Chunk 2 → LLM] + D3 --> D6[Chunk N → LLM] + + D4 --> D7[Merge results] + D5 --> D7 + D6 --> D7 + + D7 --> D8[Deduplicate data] + D8 --> D9[Aggregate token usage] + + C3 --> E[Cost Calculation] + D9 --> E + + E --> F[Usage Report] + F --> F1[Prompt tokens: X] + F --> F2[Completion tokens: Y] + F --> F3[Total cost: $Z] + + style C fill:#c8e6c9 + style D fill:#fff3e0 + style E fill:#e3f2fd + style F fill:#f3e5f5 +``` + +**📖 Learn more:** [LLM Strategies](https://docs.crawl4ai.com/extraction/llm-strategies/), [Schema-Based Extraction](https://docs.crawl4ai.com/extraction/no-llm-strategies/), [Pattern Matching](https://docs.crawl4ai.com/extraction/no-llm-strategies/#regexextractionstrategy), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/) +--- + + +## Multi-URL Crawling Workflows and Architecture + +Visual representations of concurrent crawling patterns, resource management, and monitoring systems for handling multiple URLs efficiently. + +### Multi-URL Processing Modes + +```mermaid +flowchart TD + A[Multi-URL Crawling Request] --> B{Processing Mode?} + + B -->|Batch Mode| C[Collect All URLs] + B -->|Streaming Mode| D[Process URLs Individually] + + C --> C1[Queue All URLs] + C1 --> C2[Execute Concurrently] + C2 --> C3[Wait for All Completion] + C3 --> C4[Return Complete Results Array] + + D --> D1[Queue URLs] + D1 --> D2[Start First Batch] + D2 --> D3[Yield Results as Available] + D3 --> D4{More URLs?} + D4 -->|Yes| D5[Start Next URLs] + D4 -->|No| D6[Stream Complete] + D5 --> D3 + + C4 --> E[Process Results] + D6 --> E + + E --> F[Success/Failure Analysis] + F --> G[End] + + style C fill:#e3f2fd + style D fill:#f3e5f5 + style C4 fill:#c8e6c9 + style D6 fill:#c8e6c9 +``` + +### Memory-Adaptive Dispatcher Flow + +```mermaid +stateDiagram-v2 + [*] --> Initializing + + Initializing --> MonitoringMemory: Start dispatcher + + MonitoringMemory --> CheckingMemory: Every check_interval + CheckingMemory --> MemoryOK: Memory < threshold + CheckingMemory --> MemoryHigh: Memory >= threshold + + MemoryOK --> DispatchingTasks: Start new crawls + MemoryHigh --> WaitingForMemory: Pause dispatching + + DispatchingTasks --> TaskRunning: Launch crawler + TaskRunning --> TaskCompleted: Crawl finished + TaskRunning --> TaskFailed: Crawl error + + TaskCompleted --> MonitoringMemory: Update stats + TaskFailed --> MonitoringMemory: Update stats + + WaitingForMemory --> CheckingMemory: Wait timeout + WaitingForMemory --> MonitoringMemory: Memory freed + + note right of MemoryHigh: Prevents OOM crashes + note right of DispatchingTasks: Respects max_session_permit + note right of WaitingForMemory: Configurable timeout +``` + +### Concurrent Crawling Architecture + +```mermaid +graph TB + subgraph "URL Queue Management" + A[URL Input List] --> B[URL Queue] + B --> C[Priority Scheduler] + C --> D[Batch Assignment] + end + + subgraph "Dispatcher Layer" + E[Memory Adaptive Dispatcher] + F[Semaphore Dispatcher] + G[Rate Limiter] + H[Resource Monitor] + + E --> I[Memory Checker] + F --> J[Concurrency Controller] + G --> K[Delay Calculator] + H --> L[System Stats] + end + + subgraph "Crawler Pool" + M[Crawler Instance 1] + N[Crawler Instance 2] + O[Crawler Instance 3] + P[Crawler Instance N] + + M --> Q[Browser Session 1] + N --> R[Browser Session 2] + O --> S[Browser Session 3] + P --> T[Browser Session N] + end + + subgraph "Result Processing" + U[Result Collector] + V[Success Handler] + W[Error Handler] + X[Retry Queue] + Y[Final Results] + end + + D --> E + D --> F + E --> M + F --> N + G --> O + H --> P + + Q --> U + R --> U + S --> U + T --> U + + U --> V + U --> W + W --> X + X --> B + V --> Y + + style E fill:#e3f2fd + style F fill:#f3e5f5 + style G fill:#e8f5e8 + style H fill:#fff3e0 +``` + +### Rate Limiting and Backoff Strategy + +```mermaid +sequenceDiagram + participant C as Crawler + participant RL as Rate Limiter + participant S as Server + participant D as Dispatcher + + C->>RL: Request to crawl URL + RL->>RL: Calculate delay + RL->>RL: Apply base delay (1-3s) + RL->>C: Delay applied + + C->>S: HTTP Request + + alt Success Response + S-->>C: 200 OK + Content + C->>RL: Report success + RL->>RL: Reset failure count + C->>D: Return successful result + else Rate Limited + S-->>C: 429 Too Many Requests + C->>RL: Report rate limit + RL->>RL: Exponential backoff + RL->>RL: Increase delay (up to max_delay) + RL->>C: Apply longer delay + C->>S: Retry request after delay + else Server Error + S-->>C: 503 Service Unavailable + C->>RL: Report server error + RL->>RL: Moderate backoff + RL->>C: Retry with backoff + else Max Retries Exceeded + RL->>C: Stop retrying + C->>D: Return failed result + end +``` + +### Large-Scale Crawling Workflow + +```mermaid +flowchart TD + A[Load URL List 10k+ URLs] --> B[Initialize Dispatcher] + + B --> C{Select Dispatcher Type} + C -->|Memory Constrained| D[Memory Adaptive] + C -->|Fixed Resources| E[Semaphore Based] + + D --> F[Set Memory Threshold 70%] + E --> G[Set Concurrency Limit] + + F --> H[Configure Monitoring] + G --> H + + H --> I[Start Crawling Process] + I --> J[Monitor System Resources] + + J --> K{Memory Usage?} + K -->|< Threshold| L[Continue Dispatching] + K -->|>= Threshold| M[Pause New Tasks] + + L --> N[Process Results Stream] + M --> O[Wait for Memory] + O --> K + + N --> P{Result Type?} + P -->|Success| Q[Save to Database] + P -->|Failure| R[Log Error] + + Q --> S[Update Progress Counter] + R --> S + + S --> T{More URLs?} + T -->|Yes| U[Get Next Batch] + T -->|No| V[Generate Final Report] + + U --> L + V --> W[Analysis Complete] + + style A fill:#e1f5fe + style D fill:#e8f5e8 + style E fill:#f3e5f5 + style V fill:#c8e6c9 + style W fill:#a5d6a7 +``` + +### Real-Time Monitoring Dashboard Flow + +```mermaid +graph LR + subgraph "Data Collection" + A[Crawler Tasks] --> B[Performance Metrics] + A --> C[Memory Usage] + A --> D[Success/Failure Rates] + A --> E[Response Times] + end + + subgraph "Monitor Processing" + F[CrawlerMonitor] --> G[Aggregate Statistics] + F --> H[Display Formatter] + F --> I[Update Scheduler] + end + + subgraph "Display Modes" + J[DETAILED Mode] + K[AGGREGATED Mode] + + J --> L[Individual Task Status] + J --> M[Task-Level Metrics] + K --> N[Summary Statistics] + K --> O[Overall Progress] + end + + subgraph "Output Interface" + P[Console Display] + Q[Progress Bars] + R[Status Tables] + S[Real-time Updates] + end + + B --> F + C --> F + D --> F + E --> F + + G --> J + G --> K + H --> J + H --> K + I --> J + I --> K + + L --> P + M --> Q + N --> R + O --> S + + style F fill:#e3f2fd + style J fill:#f3e5f5 + style K fill:#e8f5e8 +``` + +### Error Handling and Recovery Pattern + +```mermaid +stateDiagram-v2 + [*] --> ProcessingURL + + ProcessingURL --> CrawlAttempt: Start crawl + + CrawlAttempt --> Success: HTTP 200 + CrawlAttempt --> NetworkError: Connection failed + CrawlAttempt --> RateLimit: HTTP 429 + CrawlAttempt --> ServerError: HTTP 5xx + CrawlAttempt --> Timeout: Request timeout + + Success --> [*]: Return result + + NetworkError --> RetryCheck: Check retry count + RateLimit --> BackoffWait: Apply exponential backoff + ServerError --> RetryCheck: Check retry count + Timeout --> RetryCheck: Check retry count + + BackoffWait --> RetryCheck: After delay + + RetryCheck --> CrawlAttempt: retries < max_retries + RetryCheck --> Failed: retries >= max_retries + + Failed --> ErrorLog: Log failure details + ErrorLog --> [*]: Return failed result + + note right of BackoffWait: Exponential backoff for rate limits + note right of RetryCheck: Configurable max_retries + note right of ErrorLog: Detailed error tracking +``` + +### Resource Management Timeline + +```mermaid +gantt + title Multi-URL Crawling Resource Management + dateFormat X + axisFormat %s + + section Memory Usage + Initialize Dispatcher :0, 1 + Memory Monitoring :1, 10 + Peak Usage Period :3, 7 + Memory Cleanup :7, 9 + + section Task Execution + URL Queue Setup :0, 2 + Batch 1 Processing :2, 5 + Batch 2 Processing :4, 7 + Batch 3 Processing :6, 9 + Final Results :9, 10 + + section Rate Limiting + Normal Delays :2, 4 + Backoff Period :4, 6 + Recovery Period :6, 8 + + section Monitoring + System Health Check :0, 10 + Progress Updates :1, 9 + Performance Metrics :2, 8 +``` + +### Concurrent Processing Performance Matrix + +```mermaid +graph TD + subgraph "Input Factors" + A[Number of URLs] + B[Concurrency Level] + C[Memory Threshold] + D[Rate Limiting] + end + + subgraph "Processing Characteristics" + A --> E[Low 1-100 URLs] + A --> F[Medium 100-1k URLs] + A --> G[High 1k-10k URLs] + A --> H[Very High 10k+ URLs] + + B --> I[Conservative 1-5] + B --> J[Moderate 5-15] + B --> K[Aggressive 15-30] + + C --> L[Strict 60-70%] + C --> M[Balanced 70-80%] + C --> N[Relaxed 80-90%] + end + + subgraph "Recommended Configurations" + E --> O[Simple Semaphore] + F --> P[Memory Adaptive Basic] + G --> Q[Memory Adaptive Advanced] + H --> R[Memory Adaptive + Monitoring] + + I --> O + J --> P + K --> Q + K --> R + + L --> Q + M --> P + N --> O + end + + style O fill:#c8e6c9 + style P fill:#fff3e0 + style Q fill:#ffecb3 + style R fill:#ffcdd2 +``` + +**📖 Learn more:** [Multi-URL Crawling Guide](https://docs.crawl4ai.com/advanced/multi-url-crawling/), [Dispatcher Configuration](https://docs.crawl4ai.com/advanced/crawl-dispatcher/), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/#performance-optimization) +--- + + +## Deep Crawling Workflows and Architecture + +Visual representations of multi-level website exploration, filtering strategies, and intelligent crawling patterns. + +### Deep Crawl Strategy Overview + +```mermaid +flowchart TD + A[Start Deep Crawl] --> B{Strategy Selection} + + B -->|Explore All Levels| C[BFS Strategy] + B -->|Dive Deep Fast| D[DFS Strategy] + B -->|Smart Prioritization| E[Best-First Strategy] + + C --> C1[Breadth-First Search] + C1 --> C2[Process all depth 0 links] + C2 --> C3[Process all depth 1 links] + C3 --> C4[Continue by depth level] + + D --> D1[Depth-First Search] + D1 --> D2[Follow first link deeply] + D2 --> D3[Backtrack when max depth reached] + D3 --> D4[Continue with next branch] + + E --> E1[Best-First Search] + E1 --> E2[Score all discovered URLs] + E2 --> E3[Process highest scoring URLs first] + E3 --> E4[Continuously re-prioritize queue] + + C4 --> F[Apply Filters] + D4 --> F + E4 --> F + + F --> G{Filter Chain Processing} + G -->|Domain Filter| G1[Check allowed/blocked domains] + G -->|URL Pattern Filter| G2[Match URL patterns] + G -->|Content Type Filter| G3[Verify content types] + G -->|SEO Filter| G4[Evaluate SEO quality] + G -->|Content Relevance| G5[Score content relevance] + + G1 --> H{Passed All Filters?} + G2 --> H + G3 --> H + G4 --> H + G5 --> H + + H -->|Yes| I[Add to Crawl Queue] + H -->|No| J[Discard URL] + + I --> K{Processing Mode} + K -->|Streaming| L[Process Immediately] + K -->|Batch| M[Collect All Results] + + L --> N[Stream Result to User] + M --> O[Return Complete Result Set] + + J --> P{More URLs in Queue?} + N --> P + O --> P + + P -->|Yes| Q{Within Limits?} + P -->|No| R[Deep Crawl Complete] + + Q -->|Max Depth OK| S{Max Pages OK} + Q -->|Max Depth Exceeded| T[Skip Deeper URLs] + + S -->|Under Limit| U[Continue Crawling] + S -->|Limit Reached| R + + T --> P + U --> F + + style A fill:#e1f5fe + style R fill:#c8e6c9 + style C fill:#fff3e0 + style D fill:#f3e5f5 + style E fill:#e8f5e8 +``` + +### Deep Crawl Strategy Comparison + +```mermaid +graph TB + subgraph "BFS - Breadth-First Search" + BFS1[Level 0: Start URL] + BFS2[Level 1: All direct links] + BFS3[Level 2: All second-level links] + BFS4[Level 3: All third-level links] + + BFS1 --> BFS2 + BFS2 --> BFS3 + BFS3 --> BFS4 + + BFS_NOTE[Complete each depth before going deeper
Good for site mapping
Memory intensive for wide sites] + end + + subgraph "DFS - Depth-First Search" + DFS1[Start URL] + DFS2[First Link → Deep] + DFS3[Follow until max depth] + DFS4[Backtrack and try next] + + DFS1 --> DFS2 + DFS2 --> DFS3 + DFS3 --> DFS4 + DFS4 --> DFS2 + + DFS_NOTE[Go deep on first path
Memory efficient
May miss important pages] + end + + subgraph "Best-First - Priority Queue" + BF1[Start URL] + BF2[Score all discovered links] + BF3[Process highest scoring first] + BF4[Continuously re-prioritize] + + BF1 --> BF2 + BF2 --> BF3 + BF3 --> BF4 + BF4 --> BF2 + + BF_NOTE[Intelligent prioritization
Finds relevant content fast
Recommended for most use cases] + end + + style BFS1 fill:#e3f2fd + style DFS1 fill:#f3e5f5 + style BF1 fill:#e8f5e8 + style BFS_NOTE fill:#fff3e0 + style DFS_NOTE fill:#fff3e0 + style BF_NOTE fill:#fff3e0 +``` + +### Filter Chain Processing Sequence + +```mermaid +sequenceDiagram + participant URL as Discovered URL + participant Chain as Filter Chain + participant Domain as Domain Filter + participant Pattern as URL Pattern Filter + participant Content as Content Type Filter + participant SEO as SEO Filter + participant Relevance as Content Relevance Filter + participant Queue as Crawl Queue + + URL->>Chain: Process URL + Chain->>Domain: Check domain rules + + alt Domain Allowed + Domain-->>Chain: ✓ Pass + Chain->>Pattern: Check URL patterns + + alt Pattern Matches + Pattern-->>Chain: ✓ Pass + Chain->>Content: Check content type + + alt Content Type Valid + Content-->>Chain: ✓ Pass + Chain->>SEO: Evaluate SEO quality + + alt SEO Score Above Threshold + SEO-->>Chain: ✓ Pass + Chain->>Relevance: Score content relevance + + alt Relevance Score High + Relevance-->>Chain: ✓ Pass + Chain->>Queue: Add to crawl queue + Queue-->>URL: Queued for crawling + else Relevance Score Low + Relevance-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Low relevance + end + else SEO Score Low + SEO-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Poor SEO + end + else Invalid Content Type + Content-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Wrong content type + end + else Pattern Mismatch + Pattern-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Pattern mismatch + end + else Domain Blocked + Domain-->>Chain: ✗ Reject + Chain-->>URL: Filtered out - Blocked domain + end +``` + +### URL Lifecycle State Machine + +```mermaid +stateDiagram-v2 + [*] --> Discovered: Found on page + + Discovered --> FilterPending: Enter filter chain + + FilterPending --> DomainCheck: Apply domain filter + DomainCheck --> PatternCheck: Domain allowed + DomainCheck --> Rejected: Domain blocked + + PatternCheck --> ContentCheck: Pattern matches + PatternCheck --> Rejected: Pattern mismatch + + ContentCheck --> SEOCheck: Content type valid + ContentCheck --> Rejected: Invalid content + + SEOCheck --> RelevanceCheck: SEO score sufficient + SEOCheck --> Rejected: Poor SEO score + + RelevanceCheck --> Scored: Relevance score calculated + RelevanceCheck --> Rejected: Low relevance + + Scored --> Queued: Added to priority queue + + Queued --> Crawling: Selected for processing + Crawling --> Success: Page crawled successfully + Crawling --> Failed: Crawl failed + + Success --> LinkExtraction: Extract new links + LinkExtraction --> [*]: Process complete + + Failed --> [*]: Record failure + Rejected --> [*]: Log rejection reason + + note right of Scored : Score determines priority
in Best-First strategy + + note right of Failed : Errors logged with
depth and reason +``` + +### Streaming vs Batch Processing Architecture + +```mermaid +graph TB + subgraph "Input" + A[Start URL] --> B[Deep Crawl Strategy] + end + + subgraph "Crawl Engine" + B --> C[URL Discovery] + C --> D[Filter Chain] + D --> E[Priority Queue] + E --> F[Page Processor] + end + + subgraph "Streaming Mode stream=True" + F --> G1[Process Page] + G1 --> H1[Extract Content] + H1 --> I1[Yield Result Immediately] + I1 --> J1[async for result] + J1 --> K1[Real-time Processing] + + G1 --> L1[Extract Links] + L1 --> M1[Add to Queue] + M1 --> F + end + + subgraph "Batch Mode stream=False" + F --> G2[Process Page] + G2 --> H2[Extract Content] + H2 --> I2[Store Result] + I2 --> N2[Result Collection] + + G2 --> L2[Extract Links] + L2 --> M2[Add to Queue] + M2 --> O2{More URLs?} + O2 -->|Yes| F + O2 -->|No| P2[Return All Results] + P2 --> Q2[Batch Processing] + end + + style I1 fill:#e8f5e8 + style K1 fill:#e8f5e8 + style P2 fill:#e3f2fd + style Q2 fill:#e3f2fd +``` + +### Advanced Scoring and Prioritization System + +```mermaid +flowchart LR + subgraph "URL Discovery" + A[Page Links] --> B[Extract URLs] + B --> C[Normalize URLs] + end + + subgraph "Scoring System" + C --> D[Keyword Relevance Scorer] + D --> D1[URL Text Analysis] + D --> D2[Keyword Matching] + D --> D3[Calculate Base Score] + + D3 --> E[Additional Scoring Factors] + E --> E1[URL Structure weight: 0.2] + E --> E2[Link Context weight: 0.3] + E --> E3[Page Depth Penalty weight: 0.1] + E --> E4[Domain Authority weight: 0.4] + + D1 --> F[Combined Score] + D2 --> F + D3 --> F + E1 --> F + E2 --> F + E3 --> F + E4 --> F + end + + subgraph "Prioritization" + F --> G{Score Threshold} + G -->|Above Threshold| H[Priority Queue] + G -->|Below Threshold| I[Discard URL] + + H --> J[Best-First Selection] + J --> K[Highest Score First] + K --> L[Process Page] + + L --> M[Update Scores] + M --> N[Re-prioritize Queue] + N --> J + end + + style F fill:#fff3e0 + style H fill:#e8f5e8 + style L fill:#e3f2fd +``` + +### Deep Crawl Performance and Limits + +```mermaid +graph TD + subgraph "Crawl Constraints" + A[Max Depth: 2] --> A1[Prevents infinite crawling] + B[Max Pages: 50] --> B1[Controls resource usage] + C[Score Threshold: 0.3] --> C1[Quality filtering] + D[Domain Limits] --> D1[Scope control] + end + + subgraph "Performance Monitoring" + E[Pages Crawled] --> F[Depth Distribution] + E --> G[Success Rate] + E --> H[Average Score] + E --> I[Processing Time] + + F --> J[Performance Report] + G --> J + H --> J + I --> J + end + + subgraph "Resource Management" + K[Memory Usage] --> L{Memory Threshold} + L -->|Under Limit| M[Continue Crawling] + L -->|Over Limit| N[Reduce Concurrency] + + O[CPU Usage] --> P{CPU Threshold} + P -->|Normal| M + P -->|High| Q[Add Delays] + + R[Network Load] --> S{Rate Limits} + S -->|OK| M + S -->|Exceeded| T[Throttle Requests] + end + + M --> U[Optimal Performance] + N --> V[Reduced Performance] + Q --> V + T --> V + + style U fill:#c8e6c9 + style V fill:#fff3e0 + style J fill:#e3f2fd +``` + +### Error Handling and Recovery Flow + +```mermaid +sequenceDiagram + participant Strategy as Deep Crawl Strategy + participant Queue as Priority Queue + participant Crawler as Page Crawler + participant Error as Error Handler + participant Result as Result Collector + + Strategy->>Queue: Get next URL + Queue-->>Strategy: Return highest priority URL + + Strategy->>Crawler: Crawl page + + alt Successful Crawl + Crawler-->>Strategy: Return page content + Strategy->>Result: Store successful result + Strategy->>Strategy: Extract new links + Strategy->>Queue: Add new URLs to queue + else Network Error + Crawler-->>Error: Network timeout/failure + Error->>Error: Log error with details + Error->>Queue: Mark URL as failed + Error-->>Strategy: Skip to next URL + else Parse Error + Crawler-->>Error: HTML parsing failed + Error->>Error: Log parse error + Error->>Result: Store failed result + Error-->>Strategy: Continue with next URL + else Rate Limit Hit + Crawler-->>Error: Rate limit exceeded + Error->>Error: Apply backoff strategy + Error->>Queue: Re-queue URL with delay + Error-->>Strategy: Wait before retry + else Depth Limit + Strategy->>Strategy: Check depth constraint + Strategy-->>Queue: Skip URL - too deep + else Page Limit + Strategy->>Strategy: Check page count + Strategy-->>Result: Stop crawling - limit reached + end + + Strategy->>Queue: Request next URL + Queue-->>Strategy: More URLs available? + + alt Queue Empty + Queue-->>Result: Crawl complete + else Queue Has URLs + Queue-->>Strategy: Continue crawling + end +``` + +**📖 Learn more:** [Deep Crawling Strategies](https://docs.crawl4ai.com/core/deep-crawling/), [Content Filtering](https://docs.crawl4ai.com/core/content-selection/), [Advanced Crawling Patterns](https://docs.crawl4ai.com/advanced/advanced-features/) +--- + + +## Docker Deployment Architecture and Workflows + +Visual representations of Crawl4AI Docker deployment, API architecture, configuration management, and service interactions. + +### Docker Deployment Decision Flow + +```mermaid +flowchart TD + A[Start Docker Deployment] --> B{Deployment Type?} + + B -->|Quick Start| C[Pre-built Image] + B -->|Development| D[Docker Compose] + B -->|Custom Build| E[Manual Build] + B -->|Production| F[Production Setup] + + C --> C1[docker pull unclecode/crawl4ai] + C1 --> C2{Need LLM Support?} + C2 -->|Yes| C3[Setup .llm.env] + C2 -->|No| C4[Basic run] + C3 --> C5[docker run with --env-file] + C4 --> C6[docker run basic] + + D --> D1[git clone repository] + D1 --> D2[cp .llm.env.example .llm.env] + D2 --> D3{Build Type?} + D3 -->|Pre-built| D4[IMAGE=latest docker compose up] + D3 -->|Local Build| D5[docker compose up --build] + D3 -->|All Features| D6[INSTALL_TYPE=all docker compose up] + + E --> E1[docker buildx build] + E1 --> E2{Architecture?} + E2 -->|Single| E3[--platform linux/amd64] + E2 -->|Multi| E4[--platform linux/amd64,linux/arm64] + E3 --> E5[Build complete] + E4 --> E5 + + F --> F1[Production configuration] + F1 --> F2[Custom config.yml] + F2 --> F3[Resource limits] + F3 --> F4[Health monitoring] + F4 --> F5[Production ready] + + C5 --> G[Service running on :11235] + C6 --> G + D4 --> G + D5 --> G + D6 --> G + E5 --> H[docker run custom image] + H --> G + F5 --> I[Production deployment] + + G --> J[Access playground at /playground] + G --> K[Health check at /health] + I --> L[Production monitoring] + + style A fill:#e1f5fe + style G fill:#c8e6c9 + style I fill:#c8e6c9 + style J fill:#fff3e0 + style K fill:#fff3e0 + style L fill:#e8f5e8 +``` + +### Docker Container Architecture + +```mermaid +graph TB + subgraph "Host Environment" + A[Docker Engine] --> B[Crawl4AI Container] + C[.llm.env] --> B + D[Custom config.yml] --> B + E[Port 11235] --> B + F[Shared Memory 1GB+] --> B + end + + subgraph "Container Services" + B --> G[FastAPI Server :8020] + B --> H[Gunicorn WSGI] + B --> I[Supervisord Process Manager] + B --> J[Redis Cache :6379] + + G --> K[REST API Endpoints] + G --> L[WebSocket Connections] + G --> M[MCP Protocol] + + H --> N[Worker Processes] + I --> O[Service Monitoring] + J --> P[Request Caching] + end + + subgraph "Browser Management" + B --> Q[Playwright Framework] + Q --> R[Chromium Browser] + Q --> S[Firefox Browser] + Q --> T[WebKit Browser] + + R --> U[Browser Pool] + S --> U + T --> U + + U --> V[Page Sessions] + U --> W[Context Management] + end + + subgraph "External Services" + X[OpenAI API] -.-> K + Y[Anthropic Claude] -.-> K + Z[Local Ollama] -.-> K + AA[Groq API] -.-> K + BB[Google Gemini] -.-> K + end + + subgraph "Client Interactions" + CC[Python SDK] --> K + DD[REST API Calls] --> K + EE[MCP Clients] --> M + FF[Web Browser] --> G + GG[Monitoring Tools] --> K + end + + style B fill:#e3f2fd + style G fill:#f3e5f5 + style Q fill:#e8f5e8 + style K fill:#fff3e0 +``` + +### API Endpoints Architecture + +```mermaid +graph LR + subgraph "Core Endpoints" + A[/crawl] --> A1[Single URL crawl] + A2[/crawl/stream] --> A3[Streaming multi-URL] + A4[/crawl/job] --> A5[Async job submission] + A6[/crawl/job/{id}] --> A7[Job status check] + end + + subgraph "Specialized Endpoints" + B[/html] --> B1[Preprocessed HTML] + B2[/screenshot] --> B3[PNG capture] + B4[/pdf] --> B5[PDF generation] + B6[/execute_js] --> B7[JavaScript execution] + B8[/md] --> B9[Markdown extraction] + end + + subgraph "Utility Endpoints" + C[/health] --> C1[Service status] + C2[/metrics] --> C3[Prometheus metrics] + C4[/schema] --> C5[API documentation] + C6[/playground] --> C7[Interactive testing] + end + + subgraph "LLM Integration" + D[/llm/{url}] --> D1[Q&A over URL] + D2[/ask] --> D3[Library context search] + D4[/config/dump] --> D5[Config validation] + end + + subgraph "MCP Protocol" + E[/mcp/sse] --> E1[Server-Sent Events] + E2[/mcp/ws] --> E3[WebSocket connection] + E4[/mcp/schema] --> E5[MCP tool definitions] + end + + style A fill:#e3f2fd + style B fill:#f3e5f5 + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#fce4ec +``` + +### Request Processing Flow + +```mermaid +sequenceDiagram + participant Client + participant FastAPI + participant RequestValidator + participant BrowserPool + participant Playwright + participant ExtractionEngine + participant LLMProvider + + Client->>FastAPI: POST /crawl with config + FastAPI->>RequestValidator: Validate JSON structure + + alt Valid Request + RequestValidator-->>FastAPI: ✓ Validated + FastAPI->>BrowserPool: Request browser instance + BrowserPool->>Playwright: Launch browser/reuse session + Playwright-->>BrowserPool: Browser ready + BrowserPool-->>FastAPI: Browser allocated + + FastAPI->>Playwright: Navigate to URL + Playwright->>Playwright: Execute JS, wait conditions + Playwright-->>FastAPI: Page content ready + + FastAPI->>ExtractionEngine: Process content + + alt LLM Extraction + ExtractionEngine->>LLMProvider: Send content + schema + LLMProvider-->>ExtractionEngine: Structured data + else CSS Extraction + ExtractionEngine->>ExtractionEngine: Apply CSS selectors + end + + ExtractionEngine-->>FastAPI: Extraction complete + FastAPI->>BrowserPool: Release browser + FastAPI-->>Client: CrawlResult response + + else Invalid Request + RequestValidator-->>FastAPI: ✗ Validation error + FastAPI-->>Client: 400 Bad Request + end +``` + +### Configuration Management Flow + +```mermaid +stateDiagram-v2 + [*] --> ConfigLoading + + ConfigLoading --> DefaultConfig: Load default config.yml + ConfigLoading --> CustomConfig: Custom config mounted + ConfigLoading --> EnvOverrides: Environment variables + + DefaultConfig --> ConfigMerging + CustomConfig --> ConfigMerging + EnvOverrides --> ConfigMerging + + ConfigMerging --> ConfigValidation + + ConfigValidation --> Valid: Schema validation passes + ConfigValidation --> Invalid: Validation errors + + Invalid --> ConfigError: Log errors and exit + ConfigError --> [*] + + Valid --> ServiceInitialization + ServiceInitialization --> FastAPISetup + ServiceInitialization --> BrowserPoolInit + ServiceInitialization --> CacheSetup + + FastAPISetup --> Running + BrowserPoolInit --> Running + CacheSetup --> Running + + Running --> ConfigReload: Config change detected + ConfigReload --> ConfigValidation + + Running --> [*]: Service shutdown + + note right of ConfigMerging : Priority: ENV > Custom > Default + note right of ServiceInitialization : All services must initialize successfully +``` + +### Multi-Architecture Build Process + +```mermaid +flowchart TD + A[Developer Push] --> B[GitHub Repository] + + B --> C[Docker Buildx] + C --> D{Build Strategy} + + D -->|Multi-arch| E[Parallel Builds] + D -->|Single-arch| F[Platform-specific Build] + + E --> G[AMD64 Build] + E --> H[ARM64 Build] + + F --> I[Target Platform Build] + + subgraph "AMD64 Build Process" + G --> G1[Ubuntu base image] + G1 --> G2[Python 3.11 install] + G2 --> G3[System dependencies] + G3 --> G4[Crawl4AI installation] + G4 --> G5[Playwright setup] + G5 --> G6[FastAPI configuration] + G6 --> G7[AMD64 image ready] + end + + subgraph "ARM64 Build Process" + H --> H1[Ubuntu ARM64 base] + H1 --> H2[Python 3.11 install] + H2 --> H3[ARM-specific deps] + H3 --> H4[Crawl4AI installation] + H4 --> H5[Playwright setup] + H5 --> H6[FastAPI configuration] + H6 --> H7[ARM64 image ready] + end + + subgraph "Single Architecture" + I --> I1[Base image selection] + I1 --> I2[Platform dependencies] + I2 --> I3[Application setup] + I3 --> I4[Platform image ready] + end + + G7 --> J[Multi-arch Manifest] + H7 --> J + I4 --> K[Platform Image] + + J --> L[Docker Hub Registry] + K --> L + + L --> M[Pull Request Auto-selects Architecture] + + style A fill:#e1f5fe + style J fill:#c8e6c9 + style K fill:#c8e6c9 + style L fill:#f3e5f5 + style M fill:#e8f5e8 +``` + +### MCP Integration Architecture + +```mermaid +graph TB + subgraph "MCP Client Applications" + A[Claude Code] --> B[MCP Protocol] + C[Cursor IDE] --> B + D[Windsurf] --> B + E[Custom MCP Client] --> B + end + + subgraph "Crawl4AI MCP Server" + B --> F[MCP Endpoint Router] + F --> G[SSE Transport /mcp/sse] + F --> H[WebSocket Transport /mcp/ws] + F --> I[Schema Endpoint /mcp/schema] + + G --> J[MCP Tool Handler] + H --> J + + J --> K[Tool: md] + J --> L[Tool: html] + J --> M[Tool: screenshot] + J --> N[Tool: pdf] + J --> O[Tool: execute_js] + J --> P[Tool: crawl] + J --> Q[Tool: ask] + end + + subgraph "Crawl4AI Core Services" + K --> R[Markdown Generator] + L --> S[HTML Preprocessor] + M --> T[Screenshot Service] + N --> U[PDF Generator] + O --> V[JavaScript Executor] + P --> W[Batch Crawler] + Q --> X[Context Search] + + R --> Y[Browser Pool] + S --> Y + T --> Y + U --> Y + V --> Y + W --> Y + X --> Z[Knowledge Base] + end + + subgraph "External Resources" + Y --> AA[Playwright Browsers] + Z --> BB[Library Documentation] + Z --> CC[Code Examples] + AA --> DD[Web Pages] + end + + style B fill:#e3f2fd + style J fill:#f3e5f5 + style Y fill:#e8f5e8 + style Z fill:#fff3e0 +``` + +### API Request/Response Flow Patterns + +```mermaid +sequenceDiagram + participant Client + participant LoadBalancer + participant FastAPI + participant ConfigValidator + participant BrowserManager + participant CrawlEngine + participant ResponseBuilder + + Note over Client,ResponseBuilder: Basic Crawl Request + + Client->>LoadBalancer: POST /crawl + LoadBalancer->>FastAPI: Route request + + FastAPI->>ConfigValidator: Validate browser_config + ConfigValidator-->>FastAPI: ✓ Valid BrowserConfig + + FastAPI->>ConfigValidator: Validate crawler_config + ConfigValidator-->>FastAPI: ✓ Valid CrawlerRunConfig + + FastAPI->>BrowserManager: Allocate browser + BrowserManager-->>FastAPI: Browser instance + + FastAPI->>CrawlEngine: Execute crawl + + Note over CrawlEngine: Page processing + CrawlEngine->>CrawlEngine: Navigate & wait + CrawlEngine->>CrawlEngine: Extract content + CrawlEngine->>CrawlEngine: Apply strategies + + CrawlEngine-->>FastAPI: CrawlResult + + FastAPI->>ResponseBuilder: Format response + ResponseBuilder-->>FastAPI: JSON response + + FastAPI->>BrowserManager: Release browser + FastAPI-->>LoadBalancer: Response ready + LoadBalancer-->>Client: 200 OK + CrawlResult + + Note over Client,ResponseBuilder: Streaming Request + + Client->>FastAPI: POST /crawl/stream + FastAPI-->>Client: 200 OK (stream start) + + loop For each URL + FastAPI->>CrawlEngine: Process URL + CrawlEngine-->>FastAPI: Result ready + FastAPI-->>Client: NDJSON line + end + + FastAPI-->>Client: Stream completed +``` + +### Configuration Validation Workflow + +```mermaid +flowchart TD + A[Client Request] --> B[JSON Payload] + B --> C{Pre-validation} + + C -->|✓ Valid JSON| D[Extract Configurations] + C -->|✗ Invalid JSON| E[Return 400 Bad Request] + + D --> F[BrowserConfig Validation] + D --> G[CrawlerRunConfig Validation] + + F --> H{BrowserConfig Valid?} + G --> I{CrawlerRunConfig Valid?} + + H -->|✓ Valid| J[Browser Setup] + H -->|✗ Invalid| K[Log Browser Config Errors] + + I -->|✓ Valid| L[Crawler Setup] + I -->|✗ Invalid| M[Log Crawler Config Errors] + + K --> N[Collect All Errors] + M --> N + N --> O[Return 422 Validation Error] + + J --> P{Both Configs Valid?} + L --> P + + P -->|✓ Yes| Q[Proceed to Crawling] + P -->|✗ No| O + + Q --> R[Execute Crawl Pipeline] + R --> S[Return CrawlResult] + + E --> T[Client Error Response] + O --> T + S --> U[Client Success Response] + + style A fill:#e1f5fe + style Q fill:#c8e6c9 + style S fill:#c8e6c9 + style U fill:#c8e6c9 + style E fill:#ffcdd2 + style O fill:#ffcdd2 + style T fill:#ffcdd2 +``` + +### Production Deployment Architecture + +```mermaid +graph TB + subgraph "Load Balancer Layer" + A[NGINX/HAProxy] --> B[Health Check] + A --> C[Request Routing] + A --> D[SSL Termination] + end + + subgraph "Application Layer" + C --> E[Crawl4AI Instance 1] + C --> F[Crawl4AI Instance 2] + C --> G[Crawl4AI Instance N] + + E --> H[FastAPI Server] + F --> I[FastAPI Server] + G --> J[FastAPI Server] + + H --> K[Browser Pool 1] + I --> L[Browser Pool 2] + J --> M[Browser Pool N] + end + + subgraph "Shared Services" + N[Redis Cluster] --> E + N --> F + N --> G + + O[Monitoring Stack] --> P[Prometheus] + O --> Q[Grafana] + O --> R[AlertManager] + + P --> E + P --> F + P --> G + end + + subgraph "External Dependencies" + S[OpenAI API] -.-> H + T[Anthropic API] -.-> I + U[Local LLM Cluster] -.-> J + end + + subgraph "Persistent Storage" + V[Configuration Volume] --> E + V --> F + V --> G + + W[Cache Volume] --> N + X[Logs Volume] --> O + end + + style A fill:#e3f2fd + style E fill:#f3e5f5 + style F fill:#f3e5f5 + style G fill:#f3e5f5 + style N fill:#e8f5e8 + style O fill:#fff3e0 +``` + +### Docker Resource Management + +```mermaid +graph TD + subgraph "Resource Allocation" + A[Host Resources] --> B[CPU Cores] + A --> C[Memory GB] + A --> D[Disk Space] + A --> E[Network Bandwidth] + + B --> F[Container Limits] + C --> F + D --> F + E --> F + end + + subgraph "Container Configuration" + F --> G[--cpus=4] + F --> H[--memory=8g] + F --> I[--shm-size=2g] + F --> J[Volume Mounts] + + G --> K[Browser Processes] + H --> L[Browser Memory] + I --> M[Shared Memory for Browsers] + J --> N[Config & Cache Storage] + end + + subgraph "Monitoring & Scaling" + O[Resource Monitor] --> P[CPU Usage %] + O --> Q[Memory Usage %] + O --> R[Request Queue Length] + + P --> S{CPU > 80%?} + Q --> T{Memory > 90%?} + R --> U{Queue > 100?} + + S -->|Yes| V[Scale Up] + T -->|Yes| V + U -->|Yes| V + + V --> W[Add Container Instance] + W --> X[Update Load Balancer] + end + + subgraph "Performance Optimization" + Y[Browser Pool Tuning] --> Z[Max Pages: 40] + Y --> AA[Idle TTL: 30min] + Y --> BB[Concurrency Limits] + + Z --> CC[Memory Efficiency] + AA --> DD[Resource Cleanup] + BB --> EE[Throughput Control] + end + + style A fill:#e1f5fe + style F fill:#f3e5f5 + style O fill:#e8f5e8 + style Y fill:#fff3e0 +``` + +**📖 Learn more:** [Docker Deployment Guide](https://docs.crawl4ai.com/core/docker-deployment/), [API Reference](https://docs.crawl4ai.com/api/), [MCP Integration](https://docs.crawl4ai.com/core/docker-deployment/#mcp-model-context-protocol-support), [Production Configuration](https://docs.crawl4ai.com/core/docker-deployment/#production-deployment) +--- + + +## CLI Workflows and Profile Management + +Visual representations of command-line interface operations, browser profile management, and identity-based crawling workflows. + +### CLI Command Flow Architecture + +```mermaid +flowchart TD + A[crwl command] --> B{Command Type?} + + B -->|URL Crawling| C[Parse URL & Options] + B -->|Profile Management| D[profiles subcommand] + B -->|CDP Browser| E[cdp subcommand] + B -->|Browser Control| F[browser subcommand] + B -->|Configuration| G[config subcommand] + + C --> C1{Output Format?} + C1 -->|Default| C2[HTML/Markdown] + C1 -->|JSON| C3[Structured Data] + C1 -->|markdown| C4[Clean Markdown] + C1 -->|markdown-fit| C5[Filtered Content] + + C --> C6{Authentication?} + C6 -->|Profile Specified| C7[Load Browser Profile] + C6 -->|No Profile| C8[Anonymous Session] + + C7 --> C9[Launch with User Data] + C8 --> C10[Launch Clean Browser] + + C9 --> C11[Execute Crawl] + C10 --> C11 + + C11 --> C12{Success?} + C12 -->|Yes| C13[Return Results] + C12 -->|No| C14[Error Handling] + + D --> D1[Interactive Profile Menu] + D1 --> D2{Menu Choice?} + D2 -->|Create| D3[Open Browser for Setup] + D2 -->|List| D4[Show Existing Profiles] + D2 -->|Delete| D5[Remove Profile] + D2 -->|Use| D6[Crawl with Profile] + + E --> E1[Launch CDP Browser] + E1 --> E2[Remote Debugging Active] + + F --> F1{Browser Action?} + F1 -->|start| F2[Start Builtin Browser] + F1 -->|stop| F3[Stop Builtin Browser] + F1 -->|status| F4[Check Browser Status] + F1 -->|view| F5[Open Browser Window] + + G --> G1{Config Action?} + G1 -->|list| G2[Show All Settings] + G1 -->|set| G3[Update Setting] + G1 -->|get| G4[Read Setting] + + style A fill:#e1f5fe + style C13 fill:#c8e6c9 + style C14 fill:#ffcdd2 + style D3 fill:#fff3e0 + style E2 fill:#f3e5f5 +``` + +### Profile Management Workflow + +```mermaid +sequenceDiagram + participant User + participant CLI + participant ProfileManager + participant Browser + participant FileSystem + + User->>CLI: crwl profiles + CLI->>ProfileManager: Initialize profile manager + ProfileManager->>FileSystem: Scan for existing profiles + FileSystem-->>ProfileManager: Profile list + ProfileManager-->>CLI: Show interactive menu + CLI-->>User: Display options + + Note over User: User selects "Create new profile" + + User->>CLI: Create profile "linkedin-auth" + CLI->>ProfileManager: create_profile("linkedin-auth") + ProfileManager->>FileSystem: Create profile directory + ProfileManager->>Browser: Launch with new user data dir + Browser-->>User: Opens browser window + + Note over User: User manually logs in to LinkedIn + + User->>Browser: Navigate and authenticate + Browser->>FileSystem: Save cookies, session data + User->>CLI: Press 'q' to save profile + CLI->>ProfileManager: finalize_profile() + ProfileManager->>FileSystem: Lock profile settings + ProfileManager-->>CLI: Profile saved + CLI-->>User: Profile "linkedin-auth" created + + Note over User: Later usage + + User->>CLI: crwl https://linkedin.com/feed -p linkedin-auth + CLI->>ProfileManager: load_profile("linkedin-auth") + ProfileManager->>FileSystem: Read profile data + FileSystem-->>ProfileManager: User data directory + ProfileManager-->>CLI: Profile configuration + CLI->>Browser: Launch with existing profile + Browser-->>CLI: Authenticated session ready + CLI->>Browser: Navigate to target URL + Browser-->>CLI: Crawl results with auth context + CLI-->>User: Authenticated content +``` + +### Browser Management State Machine + +```mermaid +stateDiagram-v2 + [*] --> Stopped: Initial state + + Stopped --> Starting: crwl browser start + Starting --> Running: Browser launched + Running --> Viewing: crwl browser view + Viewing --> Running: Close window + Running --> Stopping: crwl browser stop + Stopping --> Stopped: Cleanup complete + + Running --> Restarting: crwl browser restart + Restarting --> Running: New browser instance + + Stopped --> CDP_Mode: crwl cdp + CDP_Mode --> CDP_Running: Remote debugging active + CDP_Running --> CDP_Mode: Manual close + CDP_Mode --> Stopped: Exit CDP + + Running --> StatusCheck: crwl browser status + StatusCheck --> Running: Return status + + note right of Running : Port 9222 active\nBuiltin browser available + note right of CDP_Running : Remote debugging\nManual control enabled + note right of Viewing : Visual browser window\nDirect interaction +``` + +### Authentication Workflow for Protected Sites + +```mermaid +flowchart TD + A[Protected Site Access Needed] --> B[Create Profile Strategy] + + B --> C{Existing Profile?} + C -->|Yes| D[Test Profile Validity] + C -->|No| E[Create New Profile] + + D --> D1{Profile Valid?} + D1 -->|Yes| F[Use Existing Profile] + D1 -->|No| E + + E --> E1[crwl profiles] + E1 --> E2[Select Create New Profile] + E2 --> E3[Enter Profile Name] + E3 --> E4[Browser Opens for Auth] + + E4 --> E5{Authentication Method?} + E5 -->|Login Form| E6[Fill Username/Password] + E5 -->|OAuth| E7[OAuth Flow] + E5 -->|2FA| E8[Handle 2FA] + E5 -->|Session Cookie| E9[Import Cookies] + + E6 --> E10[Manual Login Process] + E7 --> E10 + E8 --> E10 + E9 --> E10 + + E10 --> E11[Verify Authentication] + E11 --> E12{Auth Successful?} + E12 -->|Yes| E13[Save Profile - Press q] + E12 -->|No| E10 + + E13 --> F + F --> G[Execute Authenticated Crawl] + + G --> H[crwl URL -p profile-name] + H --> I[Load Profile Data] + I --> J[Launch Browser with Auth] + J --> K[Navigate to Protected Content] + K --> L[Extract Authenticated Data] + L --> M[Return Results] + + style E4 fill:#fff3e0 + style E10 fill:#e3f2fd + style F fill:#e8f5e8 + style M fill:#c8e6c9 +``` + +### CDP Browser Architecture + +```mermaid +graph TB + subgraph "CLI Layer" + A[crwl cdp command] --> B[CDP Manager] + B --> C[Port Configuration] + B --> D[Profile Selection] + end + + subgraph "Browser Process" + E[Chromium/Firefox] --> F[Remote Debugging] + F --> G[WebSocket Endpoint] + G --> H[ws://localhost:9222] + end + + subgraph "Client Connections" + I[Manual Browser Control] --> H + J[DevTools Interface] --> H + K[External Automation] --> H + L[Crawl4AI Crawler] --> H + end + + subgraph "Profile Data" + M[User Data Directory] --> E + N[Cookies & Sessions] --> M + O[Extensions] --> M + P[Browser State] --> M + end + + A --> E + C --> H + D --> M + + style H fill:#e3f2fd + style E fill:#f3e5f5 + style M fill:#e8f5e8 +``` + +### Configuration Management Hierarchy + +```mermaid +graph TD + subgraph "Global Configuration" + A[~/.crawl4ai/config.yml] --> B[Default Settings] + B --> C[LLM Providers] + B --> D[Browser Defaults] + B --> E[Output Preferences] + end + + subgraph "Profile Configuration" + F[Profile Directory] --> G[Browser State] + F --> H[Authentication Data] + F --> I[Site-Specific Settings] + end + + subgraph "Command-Line Overrides" + J[-b browser_config] --> K[Runtime Browser Settings] + L[-c crawler_config] --> M[Runtime Crawler Settings] + N[-o output_format] --> O[Runtime Output Format] + end + + subgraph "Configuration Files" + P[browser.yml] --> Q[Browser Config Template] + R[crawler.yml] --> S[Crawler Config Template] + T[extract.yml] --> U[Extraction Config] + end + + subgraph "Resolution Order" + V[Command Line Args] --> W[Config Files] + W --> X[Profile Settings] + X --> Y[Global Defaults] + end + + J --> V + L --> V + N --> V + P --> W + R --> W + T --> W + F --> X + A --> Y + + style V fill:#ffcdd2 + style W fill:#fff3e0 + style X fill:#e3f2fd + style Y fill:#e8f5e8 +``` + +### Identity-Based Crawling Decision Tree + +```mermaid +flowchart TD + A[Target Website Assessment] --> B{Authentication Required?} + + B -->|No| C[Standard Anonymous Crawl] + B -->|Yes| D{Authentication Type?} + + D -->|Login Form| E[Create Login Profile] + D -->|OAuth/SSO| F[Create OAuth Profile] + D -->|API Key/Token| G[Use Headers/Config] + D -->|Session Cookies| H[Import Cookie Profile] + + E --> E1[crwl profiles → Manual login] + F --> F1[crwl profiles → OAuth flow] + G --> G1[Configure headers in crawler config] + H --> H1[Import cookies to profile] + + E1 --> I[Test Authentication] + F1 --> I + G1 --> I + H1 --> I + + I --> J{Auth Test Success?} + J -->|Yes| K[Production Crawl Setup] + J -->|No| L[Debug Authentication] + + L --> L1{Common Issues?} + L1 -->|Rate Limiting| L2[Add delays/user simulation] + L1 -->|Bot Detection| L3[Enable stealth mode] + L1 -->|Session Expired| L4[Refresh authentication] + L1 -->|CAPTCHA| L5[Manual intervention needed] + + L2 --> M[Retry with Adjustments] + L3 --> M + L4 --> E1 + L5 --> N[Semi-automated approach] + + M --> I + N --> O[Manual auth + automated crawl] + + K --> P[Automated Authenticated Crawling] + O --> P + C --> P + + P --> Q[Monitor & Maintain Profiles] + + style I fill:#fff3e0 + style K fill:#e8f5e8 + style P fill:#c8e6c9 + style L fill:#ffcdd2 + style N fill:#f3e5f5 +``` + +### CLI Usage Patterns and Best Practices + +```mermaid +timeline + title CLI Workflow Evolution + + section Setup Phase + Installation : pip install crawl4ai + : crawl4ai-setup + Basic Test : crwl https://example.com + Config Setup : crwl config set defaults + + section Profile Creation + Site Analysis : Identify auth requirements + Profile Creation : crwl profiles + Manual Login : Authenticate in browser + Profile Save : Press 'q' to save + + section Development Phase + Test Crawls : crwl URL -p profile -v + Config Tuning : Adjust browser/crawler settings + Output Testing : Try different output formats + Error Handling : Debug authentication issues + + section Production Phase + Automated Crawls : crwl URL -p profile -o json + Batch Processing : Multiple URLs with same profile + Monitoring : Check profile validity + Maintenance : Update profiles as needed +``` + +### Multi-Profile Management Strategy + +```mermaid +graph LR + subgraph "Profile Categories" + A[Social Media Profiles] + B[Work/Enterprise Profiles] + C[E-commerce Profiles] + D[Research Profiles] + end + + subgraph "Social Media" + A --> A1[linkedin-personal] + A --> A2[twitter-monitor] + A --> A3[facebook-research] + A --> A4[instagram-brand] + end + + subgraph "Enterprise" + B --> B1[company-intranet] + B --> B2[github-enterprise] + B --> B3[confluence-docs] + B --> B4[jira-tickets] + end + + subgraph "E-commerce" + C --> C1[amazon-seller] + C --> C2[shopify-admin] + C --> C3[ebay-monitor] + C --> C4[marketplace-competitor] + end + + subgraph "Research" + D --> D1[academic-journals] + D --> D2[data-platforms] + D --> D3[survey-tools] + D --> D4[government-portals] + end + + subgraph "Usage Patterns" + E[Daily Monitoring] --> A2 + E --> B1 + F[Weekly Reports] --> C3 + F --> D2 + G[On-Demand Research] --> D1 + G --> D4 + H[Competitive Analysis] --> C4 + H --> A4 + end + + style A1 fill:#e3f2fd + style B1 fill:#f3e5f5 + style C1 fill:#e8f5e8 + style D1 fill:#fff3e0 +``` + +**📖 Learn more:** [CLI Reference](https://docs.crawl4ai.com/core/cli/), [Identity-Based Crawling](https://docs.crawl4ai.com/advanced/identity-based-crawling/), [Profile Management](https://docs.crawl4ai.com/advanced/session-management/), [Authentication Strategies](https://docs.crawl4ai.com/advanced/hooks-auth/) +--- + + +## HTTP Crawler Strategy Workflows + +Visual representations of HTTP-based crawling architecture, request flows, and performance characteristics compared to browser-based strategies. + +### HTTP vs Browser Strategy Decision Tree + +```mermaid +flowchart TD + A[Content Crawling Need] --> B{Content Type Analysis} + + B -->|Static HTML| C{JavaScript Required?} + B -->|Dynamic SPA| D[Browser Strategy Required] + B -->|API Endpoints| E[HTTP Strategy Optimal] + B -->|Mixed Content| F{Primary Content Source?} + + C -->|No JS Needed| G[HTTP Strategy Recommended] + C -->|JS Required| H[Browser Strategy Required] + C -->|Unknown| I{Performance Priority?} + + I -->|Speed Critical| J[Try HTTP First] + I -->|Accuracy Critical| K[Use Browser Strategy] + + F -->|Mostly Static| G + F -->|Mostly Dynamic| D + + G --> L{Resource Constraints?} + L -->|Memory Limited| M[HTTP Strategy - Lightweight] + L -->|CPU Limited| N[HTTP Strategy - No Browser] + L -->|Network Limited| O[HTTP Strategy - Efficient] + L -->|No Constraints| P[Either Strategy Works] + + J --> Q[Test HTTP Results] + Q --> R{Content Complete?} + R -->|Yes| S[Continue with HTTP] + R -->|No| T[Switch to Browser Strategy] + + D --> U[Browser Strategy Features] + H --> U + K --> U + T --> U + + U --> V[JavaScript Execution] + U --> W[Screenshots/PDFs] + U --> X[Complex Interactions] + U --> Y[Session Management] + + M --> Z[HTTP Strategy Benefits] + N --> Z + O --> Z + S --> Z + + Z --> AA[10x Faster Processing] + Z --> BB[Lower Memory Usage] + Z --> CC[Higher Concurrency] + Z --> DD[Simpler Deployment] + + style G fill:#c8e6c9 + style M fill:#c8e6c9 + style N fill:#c8e6c9 + style O fill:#c8e6c9 + style S fill:#c8e6c9 + style D fill:#e3f2fd + style H fill:#e3f2fd + style K fill:#e3f2fd + style T fill:#e3f2fd + style U fill:#e3f2fd +``` + +### HTTP Request Lifecycle Sequence + +```mermaid +sequenceDiagram + participant Client + participant HTTPStrategy as HTTP Strategy + participant Session as HTTP Session + participant Server as Target Server + participant Processor as Content Processor + + Client->>HTTPStrategy: crawl(url, config) + HTTPStrategy->>HTTPStrategy: validate_url() + + alt URL Type Check + HTTPStrategy->>HTTPStrategy: handle_file_url() + Note over HTTPStrategy: file:// URLs + else + HTTPStrategy->>HTTPStrategy: handle_raw_content() + Note over HTTPStrategy: raw:// content + else + HTTPStrategy->>Session: prepare_request() + Session->>Session: apply_config() + Session->>Session: set_headers() + Session->>Session: setup_auth() + + Session->>Server: HTTP Request + Note over Session,Server: GET/POST/PUT with headers + + alt Success Response + Server-->>Session: HTTP 200 + Content + Session-->>HTTPStrategy: response_data + else Redirect Response + Server-->>Session: HTTP 3xx + Location + Session->>Server: Follow redirect + Server-->>Session: HTTP 200 + Content + Session-->>HTTPStrategy: final_response + else Error Response + Server-->>Session: HTTP 4xx/5xx + Session-->>HTTPStrategy: error_response + end + end + + HTTPStrategy->>Processor: process_content() + Processor->>Processor: clean_html() + Processor->>Processor: extract_metadata() + Processor->>Processor: generate_markdown() + Processor-->>HTTPStrategy: processed_result + + HTTPStrategy-->>Client: CrawlResult + + Note over Client,Processor: Fast, lightweight processing + Note over HTTPStrategy: No browser overhead +``` + +### HTTP Strategy Architecture + +```mermaid +graph TB + subgraph "HTTP Crawler Strategy" + A[AsyncHTTPCrawlerStrategy] --> B[Session Manager] + A --> C[Request Builder] + A --> D[Response Handler] + A --> E[Error Manager] + + B --> B1[Connection Pool] + B --> B2[DNS Cache] + B --> B3[SSL Context] + + C --> C1[Headers Builder] + C --> C2[Auth Handler] + C --> C3[Payload Encoder] + + D --> D1[Content Decoder] + D --> D2[Redirect Handler] + D --> D3[Status Validator] + + E --> E1[Retry Logic] + E --> E2[Timeout Handler] + E --> E3[Exception Mapper] + end + + subgraph "Content Processing" + F[Raw HTML] --> G[HTML Cleaner] + G --> H[Markdown Generator] + H --> I[Link Extractor] + I --> J[Media Extractor] + J --> K[Metadata Parser] + end + + subgraph "External Resources" + L[Target Websites] + M[Local Files] + N[Raw Content] + end + + subgraph "Output" + O[CrawlResult] + O --> O1[HTML Content] + O --> O2[Markdown Text] + O --> O3[Extracted Links] + O --> O4[Media References] + O --> O5[Status Information] + end + + A --> F + L --> A + M --> A + N --> A + K --> O + + style A fill:#e3f2fd + style B fill:#f3e5f5 + style F fill:#e8f5e8 + style O fill:#fff3e0 +``` + +### Performance Comparison Flow + +```mermaid +graph LR + subgraph "HTTP Strategy Performance" + A1[Request Start] --> A2[DNS Lookup: 50ms] + A2 --> A3[TCP Connect: 100ms] + A3 --> A4[HTTP Request: 200ms] + A4 --> A5[Content Download: 300ms] + A5 --> A6[Processing: 50ms] + A6 --> A7[Total: ~700ms] + end + + subgraph "Browser Strategy Performance" + B1[Request Start] --> B2[Browser Launch: 2000ms] + B2 --> B3[Page Navigation: 1000ms] + B3 --> B4[JS Execution: 500ms] + B4 --> B5[Content Rendering: 300ms] + B5 --> B6[Processing: 100ms] + B6 --> B7[Total: ~3900ms] + end + + subgraph "Resource Usage" + C1[HTTP Memory: ~50MB] + C2[Browser Memory: ~500MB] + C3[HTTP CPU: Low] + C4[Browser CPU: High] + C5[HTTP Concurrency: 100+] + C6[Browser Concurrency: 10-20] + end + + A7 --> D[5.5x Faster] + B7 --> D + C1 --> E[10x Less Memory] + C2 --> E + C5 --> F[5x More Concurrent] + C6 --> F + + style A7 fill:#c8e6c9 + style B7 fill:#ffcdd2 + style C1 fill:#c8e6c9 + style C2 fill:#ffcdd2 + style C5 fill:#c8e6c9 + style C6 fill:#ffcdd2 +``` + +### HTTP Request Types and Configuration + +```mermaid +stateDiagram-v2 + [*] --> HTTPConfigSetup + + HTTPConfigSetup --> MethodSelection + + MethodSelection --> GET: Simple data retrieval + MethodSelection --> POST: Form submission + MethodSelection --> PUT: Data upload + MethodSelection --> DELETE: Resource removal + + GET --> HeaderSetup: Set Accept headers + POST --> PayloadSetup: JSON or form data + PUT --> PayloadSetup: File or data upload + DELETE --> AuthSetup: Authentication required + + PayloadSetup --> JSONPayload: application/json + PayloadSetup --> FormPayload: form-data + PayloadSetup --> RawPayload: custom content + + JSONPayload --> HeaderSetup + FormPayload --> HeaderSetup + RawPayload --> HeaderSetup + + HeaderSetup --> AuthSetup + AuthSetup --> SSLSetup + SSLSetup --> RedirectSetup + RedirectSetup --> RequestExecution + + RequestExecution --> [*]: Request complete + + note right of GET : Default method for most crawling + note right of POST : API interactions, form submissions + note right of JSONPayload : Structured data transmission + note right of HeaderSetup : User-Agent, Accept, Custom headers +``` + +### Error Handling and Retry Workflow + +```mermaid +flowchart TD + A[HTTP Request] --> B{Response Received?} + + B -->|No| C[Connection Error] + B -->|Yes| D{Status Code Check} + + C --> C1{Timeout Error?} + C1 -->|Yes| C2[ConnectionTimeoutError] + C1 -->|No| C3[Network Error] + + D -->|2xx| E[Success Response] + D -->|3xx| F[Redirect Response] + D -->|4xx| G[Client Error] + D -->|5xx| H[Server Error] + + F --> F1{Follow Redirects?} + F1 -->|Yes| F2[Follow Redirect] + F1 -->|No| F3[Return Redirect Response] + F2 --> A + + G --> G1{Retry on 4xx?} + G1 -->|No| G2[HTTPStatusError] + G1 -->|Yes| I[Check Retry Count] + + H --> H1{Retry on 5xx?} + H1 -->|Yes| I + H1 -->|No| H2[HTTPStatusError] + + C2 --> I + C3 --> I + + I --> J{Retries < Max?} + J -->|No| K[Final Error] + J -->|Yes| L[Calculate Backoff] + + L --> M[Wait Backoff Time] + M --> N[Increment Retry Count] + N --> A + + E --> O[Process Content] + F3 --> O + O --> P[Return CrawlResult] + + G2 --> Q[Error CrawlResult] + H2 --> Q + K --> Q + + style E fill:#c8e6c9 + style P fill:#c8e6c9 + style G2 fill:#ffcdd2 + style H2 fill:#ffcdd2 + style K fill:#ffcdd2 + style Q fill:#ffcdd2 +``` + +### Batch Processing Architecture + +```mermaid +sequenceDiagram + participant Client + participant BatchManager as Batch Manager + participant HTTPPool as Connection Pool + participant Workers as HTTP Workers + participant Targets as Target Servers + + Client->>BatchManager: batch_crawl(urls) + BatchManager->>BatchManager: create_semaphore(max_concurrent) + + loop For each URL batch + BatchManager->>HTTPPool: acquire_connection() + HTTPPool->>Workers: assign_worker() + + par Concurrent Processing + Workers->>Targets: HTTP Request 1 + Workers->>Targets: HTTP Request 2 + Workers->>Targets: HTTP Request N + end + + par Response Handling + Targets-->>Workers: Response 1 + Targets-->>Workers: Response 2 + Targets-->>Workers: Response N + end + + Workers->>HTTPPool: return_connection() + HTTPPool->>BatchManager: batch_results() + end + + BatchManager->>BatchManager: aggregate_results() + BatchManager-->>Client: final_results() + + Note over Workers,Targets: 20-100 concurrent connections + Note over BatchManager: Memory-efficient processing + Note over HTTPPool: Connection reuse optimization +``` + +### Content Type Processing Pipeline + +```mermaid +graph TD + A[HTTP Response] --> B{Content-Type Detection} + + B -->|text/html| C[HTML Processing] + B -->|application/json| D[JSON Processing] + B -->|text/plain| E[Text Processing] + B -->|application/xml| F[XML Processing] + B -->|Other| G[Binary Processing] + + C --> C1[Parse HTML Structure] + C1 --> C2[Extract Text Content] + C2 --> C3[Generate Markdown] + C3 --> C4[Extract Links/Media] + + D --> D1[Parse JSON Structure] + D1 --> D2[Extract Data Fields] + D2 --> D3[Format as Readable Text] + + E --> E1[Clean Text Content] + E1 --> E2[Basic Formatting] + + F --> F1[Parse XML Structure] + F1 --> F2[Extract Text Nodes] + F2 --> F3[Convert to Markdown] + + G --> G1[Save Binary Content] + G1 --> G2[Generate Metadata] + + C4 --> H[Content Analysis] + D3 --> H + E2 --> H + F3 --> H + G2 --> H + + H --> I[Link Extraction] + H --> J[Media Detection] + H --> K[Metadata Parsing] + + I --> L[CrawlResult Assembly] + J --> L + K --> L + + L --> M[Final Output] + + style C fill:#e8f5e8 + style H fill:#fff3e0 + style L fill:#e3f2fd + style M fill:#c8e6c9 +``` + +### Integration with Processing Strategies + +```mermaid +graph LR + subgraph "HTTP Strategy Core" + A[HTTP Request] --> B[Raw Content] + B --> C[Content Decoder] + end + + subgraph "Processing Pipeline" + C --> D[HTML Cleaner] + D --> E[Markdown Generator] + E --> F{Content Filter?} + + F -->|Yes| G[Pruning Filter] + F -->|Yes| H[BM25 Filter] + F -->|No| I[Raw Markdown] + + G --> J[Fit Markdown] + H --> J + end + + subgraph "Extraction Strategies" + I --> K[CSS Extraction] + J --> K + I --> L[XPath Extraction] + J --> L + I --> M[LLM Extraction] + J --> M + end + + subgraph "Output Generation" + K --> N[Structured JSON] + L --> N + M --> N + + I --> O[Clean Markdown] + J --> P[Filtered Content] + + N --> Q[Final CrawlResult] + O --> Q + P --> Q + end + + style A fill:#e3f2fd + style C fill:#f3e5f5 + style E fill:#e8f5e8 + style Q fill:#c8e6c9 +``` + +**📖 Learn more:** [HTTP vs Browser Strategies](https://docs.crawl4ai.com/core/browser-crawler-config/), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/), [Error Handling](https://docs.crawl4ai.com/api/async-webcrawler/) +--- + + +## URL Seeding Workflows and Architecture + +Visual representations of URL discovery strategies, filtering pipelines, and smart crawling workflows. + +### URL Seeding vs Deep Crawling Strategy Comparison + +```mermaid +graph TB + subgraph "Deep Crawling Approach" + A1[Start URL] --> A2[Load Page] + A2 --> A3[Extract Links] + A3 --> A4{More Links?} + A4 -->|Yes| A5[Queue Next Page] + A5 --> A2 + A4 -->|No| A6[Complete] + + A7[⏱️ Real-time Discovery] + A8[🐌 Sequential Processing] + A9[🔍 Limited by Page Structure] + A10[💾 High Memory Usage] + end + + subgraph "URL Seeding Approach" + B1[Domain Input] --> B2[Query Sitemap] + B1 --> B3[Query Common Crawl] + B2 --> B4[Merge Results] + B3 --> B4 + B4 --> B5[Apply Filters] + B5 --> B6[Score Relevance] + B6 --> B7[Rank Results] + B7 --> B8[Select Top URLs] + + B9[⚡ Instant Discovery] + B10[🚀 Parallel Processing] + B11[🎯 Pattern-based Filtering] + B12[💡 Smart Relevance Scoring] + end + + style A1 fill:#ffecb3 + style B1 fill:#e8f5e8 + style A6 fill:#ffcdd2 + style B8 fill:#c8e6c9 +``` + +### URL Discovery Data Flow + +```mermaid +sequenceDiagram + participant User + participant Seeder as AsyncUrlSeeder + participant SM as Sitemap + participant CC as Common Crawl + participant Filter as URL Filter + participant Scorer as BM25 Scorer + + User->>Seeder: urls("example.com", config) + + par Parallel Data Sources + Seeder->>SM: Fetch sitemap.xml + SM-->>Seeder: 500 URLs + and + Seeder->>CC: Query Common Crawl + CC-->>Seeder: 2000 URLs + end + + Seeder->>Seeder: Merge and deduplicate + Note over Seeder: 2200 unique URLs + + Seeder->>Filter: Apply pattern filter + Filter-->>Seeder: 800 matching URLs + + alt extract_head=True + loop For each URL + Seeder->>Seeder: Extract metadata + end + Note over Seeder: Title, description, keywords + end + + alt query provided + Seeder->>Scorer: Calculate relevance scores + Scorer-->>Seeder: Scored URLs + Seeder->>Seeder: Filter by score_threshold + Note over Seeder: 200 relevant URLs + end + + Seeder->>Seeder: Sort by relevance + Seeder->>Seeder: Apply max_urls limit + Seeder-->>User: Top 100 URLs ready for crawling +``` + +### SeedingConfig Decision Tree + +```mermaid +flowchart TD + A[SeedingConfig Setup] --> B{Data Source Strategy?} + + B -->|Fast & Official| C[source="sitemap"] + B -->|Comprehensive| D[source="cc"] + B -->|Maximum Coverage| E[source="sitemap+cc"] + + C --> F{Need Filtering?} + D --> F + E --> F + + F -->|Yes| G[Set URL Pattern] + F -->|No| H[pattern="*"] + + G --> I{Pattern Examples} + I --> I1[pattern="*/blog/*"] + I --> I2[pattern="*/docs/api/*"] + I --> I3[pattern="*.pdf"] + I --> I4[pattern="*/product/*"] + + H --> J{Need Metadata?} + I1 --> J + I2 --> J + I3 --> J + I4 --> J + + J -->|Yes| K[extract_head=True] + J -->|No| L[extract_head=False] + + K --> M{Need Validation?} + L --> M + + M -->|Yes| N[live_check=True] + M -->|No| O[live_check=False] + + N --> P{Need Relevance Scoring?} + O --> P + + P -->|Yes| Q[Set Query + BM25] + P -->|No| R[Skip Scoring] + + Q --> S[query="search terms"] + S --> T[scoring_method="bm25"] + T --> U[score_threshold=0.3] + + R --> V[Performance Tuning] + U --> V + + V --> W[Set max_urls] + W --> X[Set concurrency] + X --> Y[Set hits_per_sec] + Y --> Z[Configuration Complete] + + style A fill:#e3f2fd + style Z fill:#c8e6c9 + style K fill:#fff3e0 + style N fill:#fff3e0 + style Q fill:#f3e5f5 +``` + +### BM25 Relevance Scoring Pipeline + +```mermaid +graph TB + subgraph "Text Corpus Preparation" + A1[URL Collection] --> A2[Extract Metadata] + A2 --> A3[Title + Description + Keywords] + A3 --> A4[Tokenize Text] + A4 --> A5[Remove Stop Words] + A5 --> A6[Create Document Corpus] + end + + subgraph "BM25 Algorithm" + B1[Query Terms] --> B2[Term Frequency Calculation] + A6 --> B2 + B2 --> B3[Inverse Document Frequency] + B3 --> B4[BM25 Score Calculation] + B4 --> B5[Score = Σ(IDF × TF × K1+1)/(TF + K1×(1-b+b×|d|/avgdl))] + end + + subgraph "Scoring Results" + B5 --> C1[URL Relevance Scores] + C1 --> C2{Score ≥ Threshold?} + C2 -->|Yes| C3[Include in Results] + C2 -->|No| C4[Filter Out] + C3 --> C5[Sort by Score DESC] + C5 --> C6[Return Top URLs] + end + + subgraph "Example Scores" + D1["python async tutorial" → 0.85] + D2["python documentation" → 0.72] + D3["javascript guide" → 0.23] + D4["contact us page" → 0.05] + end + + style B5 fill:#e3f2fd + style C6 fill:#c8e6c9 + style D1 fill:#c8e6c9 + style D2 fill:#c8e6c9 + style D3 fill:#ffecb3 + style D4 fill:#ffcdd2 +``` + +### Multi-Domain Discovery Architecture + +```mermaid +graph TB + subgraph "Input Layer" + A1[Domain List] + A2[SeedingConfig] + A3[Query Terms] + end + + subgraph "Discovery Engine" + B1[AsyncUrlSeeder] + B2[Parallel Workers] + B3[Rate Limiter] + B4[Memory Manager] + end + + subgraph "Data Sources" + C1[Sitemap Fetcher] + C2[Common Crawl API] + C3[Live URL Checker] + C4[Metadata Extractor] + end + + subgraph "Processing Pipeline" + D1[URL Deduplication] + D2[Pattern Filtering] + D3[Relevance Scoring] + D4[Quality Assessment] + end + + subgraph "Output Layer" + E1[Scored URL Lists] + E2[Domain Statistics] + E3[Performance Metrics] + E4[Cache Storage] + end + + A1 --> B1 + A2 --> B1 + A3 --> B1 + + B1 --> B2 + B2 --> B3 + B3 --> B4 + + B2 --> C1 + B2 --> C2 + B2 --> C3 + B2 --> C4 + + C1 --> D1 + C2 --> D1 + C3 --> D2 + C4 --> D3 + + D1 --> D2 + D2 --> D3 + D3 --> D4 + + D4 --> E1 + B4 --> E2 + B3 --> E3 + D1 --> E4 + + style B1 fill:#e3f2fd + style D3 fill:#f3e5f5 + style E1 fill:#c8e6c9 +``` + +### Complete Discovery-to-Crawl Pipeline + +```mermaid +stateDiagram-v2 + [*] --> Discovery + + Discovery --> SourceSelection: Configure data sources + SourceSelection --> Sitemap: source="sitemap" + SourceSelection --> CommonCrawl: source="cc" + SourceSelection --> Both: source="sitemap+cc" + + Sitemap --> URLCollection + CommonCrawl --> URLCollection + Both --> URLCollection + + URLCollection --> Filtering: Apply patterns + Filtering --> MetadataExtraction: extract_head=True + Filtering --> LiveValidation: extract_head=False + + MetadataExtraction --> LiveValidation: live_check=True + MetadataExtraction --> RelevanceScoring: live_check=False + LiveValidation --> RelevanceScoring + + RelevanceScoring --> ResultRanking: query provided + RelevanceScoring --> ResultLimiting: no query + + ResultRanking --> ResultLimiting: apply score_threshold + ResultLimiting --> URLSelection: apply max_urls + + URLSelection --> CrawlPreparation: URLs ready + CrawlPreparation --> CrawlExecution: AsyncWebCrawler + + CrawlExecution --> StreamProcessing: stream=True + CrawlExecution --> BatchProcessing: stream=False + + StreamProcessing --> [*] + BatchProcessing --> [*] + + note right of Discovery : 🔍 Smart URL Discovery + note right of URLCollection : 📚 Merge & Deduplicate + note right of RelevanceScoring : 🎯 BM25 Algorithm + note right of CrawlExecution : 🕷️ High-Performance Crawling +``` + +### Performance Optimization Strategies + +```mermaid +graph LR + subgraph "Input Optimization" + A1[Smart Source Selection] --> A2[Sitemap First] + A2 --> A3[Add CC if Needed] + A3 --> A4[Pattern Filtering Early] + end + + subgraph "Processing Optimization" + B1[Parallel Workers] --> B2[Bounded Queues] + B2 --> B3[Rate Limiting] + B3 --> B4[Memory Management] + B4 --> B5[Lazy Evaluation] + end + + subgraph "Output Optimization" + C1[Relevance Threshold] --> C2[Max URL Limits] + C2 --> C3[Caching Strategy] + C3 --> C4[Streaming Results] + end + + subgraph "Performance Metrics" + D1[URLs/Second: 100-1000] + D2[Memory Usage: Bounded] + D3[Network Efficiency: 95%+] + D4[Cache Hit Rate: 80%+] + end + + A4 --> B1 + B5 --> C1 + C4 --> D1 + + style A2 fill:#e8f5e8 + style B2 fill:#e3f2fd + style C3 fill:#f3e5f5 + style D3 fill:#c8e6c9 +``` + +### URL Discovery vs Traditional Crawling Comparison + +```mermaid +graph TB + subgraph "Traditional Approach" + T1[Start URL] --> T2[Crawl Page] + T2 --> T3[Extract Links] + T3 --> T4[Queue New URLs] + T4 --> T2 + T5[❌ Time: Hours/Days] + T6[❌ Resource Heavy] + T7[❌ Depth Limited] + T8[❌ Discovery Bias] + end + + subgraph "URL Seeding Approach" + S1[Domain Input] --> S2[Query All Sources] + S2 --> S3[Pattern Filter] + S3 --> S4[Relevance Score] + S4 --> S5[Select Best URLs] + S5 --> S6[Ready to Crawl] + + S7[✅ Time: Seconds/Minutes] + S8[✅ Resource Efficient] + S9[✅ Complete Coverage] + S10[✅ Quality Focused] + end + + subgraph "Use Case Decision Matrix" + U1[Small Sites < 1000 pages] --> U2[Use Deep Crawling] + U3[Large Sites > 10000 pages] --> U4[Use URL Seeding] + U5[Unknown Structure] --> U6[Start with Seeding] + U7[Real-time Discovery] --> U8[Use Deep Crawling] + U9[Quality over Quantity] --> U10[Use URL Seeding] + end + + style S6 fill:#c8e6c9 + style S7 fill:#c8e6c9 + style S8 fill:#c8e6c9 + style S9 fill:#c8e6c9 + style S10 fill:#c8e6c9 + style T5 fill:#ffcdd2 + style T6 fill:#ffcdd2 + style T7 fill:#ffcdd2 + style T8 fill:#ffcdd2 +``` + +### Data Source Characteristics and Selection + +```mermaid +graph TB + subgraph "Sitemap Source" + SM1[📋 Official URL List] + SM2[⚡ Fast Response] + SM3[📅 Recently Updated] + SM4[🎯 High Quality URLs] + SM5[❌ May Miss Some Pages] + end + + subgraph "Common Crawl Source" + CC1[🌐 Comprehensive Coverage] + CC2[📚 Historical Data] + CC3[🔍 Deep Discovery] + CC4[⏳ Slower Response] + CC5[🧹 May Include Noise] + end + + subgraph "Combined Strategy" + CB1[🚀 Best of Both] + CB2[📊 Maximum Coverage] + CB3[✨ Automatic Deduplication] + CB4[⚖️ Balanced Performance] + end + + subgraph "Selection Guidelines" + G1[Speed Critical → Sitemap Only] + G2[Coverage Critical → Common Crawl] + G3[Best Quality → Combined] + G4[Unknown Domain → Combined] + end + + style SM2 fill:#c8e6c9 + style SM4 fill:#c8e6c9 + style CC1 fill:#e3f2fd + style CC3 fill:#e3f2fd + style CB1 fill:#f3e5f5 + style CB3 fill:#f3e5f5 +``` + +**📖 Learn more:** [URL Seeding Guide](https://docs.crawl4ai.com/core/url-seeding/), [Performance Optimization](https://docs.crawl4ai.com/advanced/optimization/), [Multi-URL Crawling](https://docs.crawl4ai.com/advanced/multi-url-crawling/) +--- + + +## Deep Crawling Filters & Scorers Architecture + +Visual representations of advanced URL filtering, scoring strategies, and performance optimization workflows for intelligent deep crawling. + +### Filter Chain Processing Pipeline + +```mermaid +flowchart TD + A[URL Input] --> B{Domain Filter} + B -->|✓ Pass| C{Pattern Filter} + B -->|✗ Fail| X1[Reject: Invalid Domain] + + C -->|✓ Pass| D{Content Type Filter} + C -->|✗ Fail| X2[Reject: Pattern Mismatch] + + D -->|✓ Pass| E{SEO Filter} + D -->|✗ Fail| X3[Reject: Wrong Content Type] + + E -->|✓ Pass| F{Content Relevance Filter} + E -->|✗ Fail| X4[Reject: Low SEO Score] + + F -->|✓ Pass| G[URL Accepted] + F -->|✗ Fail| X5[Reject: Low Relevance] + + G --> H[Add to Crawl Queue] + + subgraph "Fast Filters" + B + C + D + end + + subgraph "Slow Filters" + E + F + end + + style A fill:#e3f2fd + style G fill:#c8e6c9 + style H fill:#e8f5e8 + style X1 fill:#ffcdd2 + style X2 fill:#ffcdd2 + style X3 fill:#ffcdd2 + style X4 fill:#ffcdd2 + style X5 fill:#ffcdd2 +``` + +### URL Scoring System Architecture + +```mermaid +graph TB + subgraph "Input URL" + A[https://python.org/tutorial/2024/ml-guide.html] + end + + subgraph "Individual Scorers" + B[Keyword Relevance Scorer] + C[Path Depth Scorer] + D[Content Type Scorer] + E[Freshness Scorer] + F[Domain Authority Scorer] + end + + subgraph "Scoring Process" + B --> B1[Keywords: python, tutorial, ml
Score: 0.85] + C --> C1[Depth: 4 levels
Optimal: 3
Score: 0.75] + D --> D1[Content: HTML
Score: 1.0] + E --> E1[Year: 2024
Score: 1.0] + F --> F1[Domain: python.org
Score: 1.0] + end + + subgraph "Composite Scoring" + G[Weighted Combination] + B1 --> G + C1 --> G + D1 --> G + E1 --> G + F1 --> G + end + + subgraph "Final Result" + H[Composite Score: 0.92] + I{Score > Threshold?} + J[Accept URL] + K[Reject URL] + end + + A --> B + A --> C + A --> D + A --> E + A --> F + + G --> H + H --> I + I -->|✓ 0.92 > 0.6| J + I -->|✗ Score too low| K + + style A fill:#e3f2fd + style G fill:#fff3e0 + style H fill:#e8f5e8 + style J fill:#c8e6c9 + style K fill:#ffcdd2 +``` + +### Filter vs Scorer Decision Matrix + +```mermaid +flowchart TD + A[URL Processing Decision] --> B{Binary Decision Needed?} + + B -->|Yes - Include/Exclude| C[Use Filters] + B -->|No - Quality Rating| D[Use Scorers] + + C --> C1{Filter Type Needed?} + C1 -->|Domain Control| C2[DomainFilter] + C1 -->|Pattern Matching| C3[URLPatternFilter] + C1 -->|Content Type| C4[ContentTypeFilter] + C1 -->|SEO Quality| C5[SEOFilter] + C1 -->|Content Relevance| C6[ContentRelevanceFilter] + + D --> D1{Scoring Criteria?} + D1 -->|Keyword Relevance| D2[KeywordRelevanceScorer] + D1 -->|URL Structure| D3[PathDepthScorer] + D1 -->|Content Quality| D4[ContentTypeScorer] + D1 -->|Time Sensitivity| D5[FreshnessScorer] + D1 -->|Source Authority| D6[DomainAuthorityScorer] + + C2 --> E[Chain Filters] + C3 --> E + C4 --> E + C5 --> E + C6 --> E + + D2 --> F[Composite Scorer] + D3 --> F + D4 --> F + D5 --> F + D6 --> F + + E --> G[Binary Output: Pass/Fail] + F --> H[Numeric Score: 0.0-1.0] + + G --> I[Apply to URL Queue] + H --> J[Priority Ranking] + + style C fill:#e8f5e8 + style D fill:#fff3e0 + style E fill:#f3e5f5 + style F fill:#e3f2fd + style G fill:#c8e6c9 + style H fill:#ffecb3 +``` + +### Performance Optimization Strategy + +```mermaid +sequenceDiagram + participant Queue as URL Queue + participant Fast as Fast Filters + participant Slow as Slow Filters + participant Score as Scorers + participant Output as Filtered URLs + + Note over Queue, Output: Batch Processing (1000 URLs) + + Queue->>Fast: Apply Domain Filter + Fast-->>Queue: 60% passed (600 URLs) + + Queue->>Fast: Apply Pattern Filter + Fast-->>Queue: 70% passed (420 URLs) + + Queue->>Fast: Apply Content Type Filter + Fast-->>Queue: 90% passed (378 URLs) + + Note over Fast: Fast filters eliminate 62% of URLs + + Queue->>Slow: Apply SEO Filter (378 URLs) + Slow-->>Queue: 80% passed (302 URLs) + + Queue->>Slow: Apply Relevance Filter + Slow-->>Queue: 75% passed (227 URLs) + + Note over Slow: Content analysis on remaining URLs + + Queue->>Score: Calculate Composite Scores + Score-->>Queue: Scored and ranked + + Queue->>Output: Top 100 URLs by score + Output-->>Queue: Processing complete + + Note over Queue, Output: Total: 90% filtered out, 10% high-quality URLs retained +``` + +### Custom Filter Implementation Flow + +```mermaid +stateDiagram-v2 + [*] --> Planning + + Planning --> IdentifyNeeds: Define filtering criteria + IdentifyNeeds --> ChooseType: Binary vs Scoring decision + + ChooseType --> FilterImpl: Binary decision needed + ChooseType --> ScorerImpl: Quality rating needed + + FilterImpl --> InheritURLFilter: Extend URLFilter base class + ScorerImpl --> InheritURLScorer: Extend URLScorer base class + + InheritURLFilter --> ImplementApply: def apply(url) -> bool + InheritURLScorer --> ImplementScore: def _calculate_score(url) -> float + + ImplementApply --> AddLogic: Add custom filtering logic + ImplementScore --> AddLogic + + AddLogic --> TestFilter: Unit testing + TestFilter --> OptimizePerf: Performance optimization + + OptimizePerf --> Integration: Integrate with FilterChain + Integration --> Production: Deploy to production + + Production --> Monitor: Monitor performance + Monitor --> Tune: Tune parameters + Tune --> Production + + note right of Planning : Consider performance impact + note right of AddLogic : Handle edge cases + note right of OptimizePerf : Cache frequently accessed data +``` + +### Filter Chain Optimization Patterns + +```mermaid +graph TB + subgraph "Naive Approach - Poor Performance" + A1[All URLs] --> B1[Slow Filter 1] + B1 --> C1[Slow Filter 2] + C1 --> D1[Fast Filter 1] + D1 --> E1[Fast Filter 2] + E1 --> F1[Final Results] + + B1 -.->|High CPU| G1[Performance Issues] + C1 -.->|Network Calls| G1 + end + + subgraph "Optimized Approach - High Performance" + A2[All URLs] --> B2[Fast Filter 1] + B2 --> C2[Fast Filter 2] + C2 --> D2[Batch Process] + D2 --> E2[Slow Filter 1] + E2 --> F2[Slow Filter 2] + F2 --> G2[Final Results] + + D2 --> H2[Concurrent Processing] + H2 --> I2[Semaphore Control] + end + + subgraph "Performance Metrics" + J[Processing Time] + K[Memory Usage] + L[CPU Utilization] + M[Network Requests] + end + + G1 -.-> J + G1 -.-> K + G1 -.-> L + G1 -.-> M + + G2 -.-> J + G2 -.-> K + G2 -.-> L + G2 -.-> M + + style A1 fill:#ffcdd2 + style G1 fill:#ffcdd2 + style A2 fill:#c8e6c9 + style G2 fill:#c8e6c9 + style H2 fill:#e8f5e8 + style I2 fill:#e8f5e8 +``` + +### Composite Scoring Weight Distribution + +```mermaid +pie title Composite Scorer Weight Distribution + "Keyword Relevance (30%)" : 30 + "Domain Authority (25%)" : 25 + "Content Type (20%)" : 20 + "Freshness (15%)" : 15 + "Path Depth (10%)" : 10 +``` + +### Deep Crawl Integration Architecture + +```mermaid +graph TD + subgraph "Deep Crawl Strategy" + A[Start URL] --> B[Extract Links] + B --> C[Apply Filter Chain] + C --> D[Calculate Scores] + D --> E[Priority Queue] + E --> F[Crawl Next URL] + F --> B + end + + subgraph "Filter Chain Components" + C --> C1[Domain Filter] + C --> C2[Pattern Filter] + C --> C3[Content Filter] + C --> C4[SEO Filter] + C --> C5[Relevance Filter] + end + + subgraph "Scoring Components" + D --> D1[Keyword Scorer] + D --> D2[Depth Scorer] + D --> D3[Freshness Scorer] + D --> D4[Authority Scorer] + D --> D5[Composite Score] + end + + subgraph "Queue Management" + E --> E1{Score > Threshold?} + E1 -->|Yes| E2[High Priority Queue] + E1 -->|No| E3[Low Priority Queue] + E2 --> F + E3 --> G[Delayed Processing] + end + + subgraph "Control Flow" + H{Max Depth Reached?} + I{Max Pages Reached?} + J[Stop Crawling] + end + + F --> H + H -->|No| I + H -->|Yes| J + I -->|No| B + I -->|Yes| J + + style A fill:#e3f2fd + style E2 fill:#c8e6c9 + style E3 fill:#fff3e0 + style J fill:#ffcdd2 +``` + +### Filter Performance Comparison + +```mermaid +xychart-beta + title "Filter Performance Comparison (1000 URLs)" + x-axis [Domain, Pattern, ContentType, SEO, Relevance] + y-axis "Processing Time (ms)" 0 --> 1000 + bar [50, 80, 45, 300, 800] +``` + +### Scoring Algorithm Workflow + +```mermaid +flowchart TD + A[Input URL] --> B[Parse URL Components] + B --> C[Extract Features] + + C --> D[Domain Analysis] + C --> E[Path Analysis] + C --> F[Content Type Detection] + C --> G[Keyword Extraction] + C --> H[Freshness Detection] + + D --> I[Domain Authority Score] + E --> J[Path Depth Score] + F --> K[Content Type Score] + G --> L[Keyword Relevance Score] + H --> M[Freshness Score] + + I --> N[Apply Weights] + J --> N + K --> N + L --> N + M --> N + + N --> O[Normalize Scores] + O --> P[Calculate Final Score] + P --> Q{Score >= Threshold?} + + Q -->|Yes| R[Accept for Crawling] + Q -->|No| S[Reject URL] + + R --> T[Add to Priority Queue] + S --> U[Log Rejection Reason] + + style A fill:#e3f2fd + style P fill:#fff3e0 + style R fill:#c8e6c9 + style S fill:#ffcdd2 + style T fill:#e8f5e8 +``` + +**📖 Learn more:** [Deep Crawling Strategy](https://docs.crawl4ai.com/core/deep-crawling/), [Performance Optimization](https://docs.crawl4ai.com/advanced/performance-tuning/), [Custom Implementations](https://docs.crawl4ai.com/advanced/custom-filters/) +--- + + +## Summary + +Crawl4AI provides a comprehensive solution for web crawling and data extraction optimized for AI applications. From simple page crawling to complex multi-URL operations with advanced filtering, the library offers the flexibility and performance needed for modern data extraction workflows. + +**Key Takeaways:** +- Start with basic installation and simple crawling patterns +- Use configuration objects for consistent, maintainable code +- Choose appropriate extraction strategies based on your data structure +- Leverage Docker for production deployments +- Implement advanced features like deep crawling and custom filters as needed + +**Next Steps:** +- Explore the [GitHub repository](https://github.com/unclecode/crawl4ai) for latest updates +- Join the [Discord community](https://discord.gg/jP8KfhDhyN) for support +- Check out [example projects](https://github.com/unclecode/crawl4ai/tree/main/docs/examples) for inspiration + +Happy crawling! 🕷️ diff --git a/docs/md_v2/assets/llm.txt/diagrams/multi_urls_crawling.txt b/docs/md_v2/assets/llm.txt/diagrams/multi_urls_crawling.txt new file mode 100644 index 00000000..6f875483 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/multi_urls_crawling.txt @@ -0,0 +1,392 @@ +## Multi-URL Crawling Workflows and Architecture + +Visual representations of concurrent crawling patterns, resource management, and monitoring systems for handling multiple URLs efficiently. + +### Multi-URL Processing Modes + +```mermaid +flowchart TD + A[Multi-URL Crawling Request] --> B{Processing Mode?} + + B -->|Batch Mode| C[Collect All URLs] + B -->|Streaming Mode| D[Process URLs Individually] + + C --> C1[Queue All URLs] + C1 --> C2[Execute Concurrently] + C2 --> C3[Wait for All Completion] + C3 --> C4[Return Complete Results Array] + + D --> D1[Queue URLs] + D1 --> D2[Start First Batch] + D2 --> D3[Yield Results as Available] + D3 --> D4{More URLs?} + D4 -->|Yes| D5[Start Next URLs] + D4 -->|No| D6[Stream Complete] + D5 --> D3 + + C4 --> E[Process Results] + D6 --> E + + E --> F[Success/Failure Analysis] + F --> G[End] + + style C fill:#e3f2fd + style D fill:#f3e5f5 + style C4 fill:#c8e6c9 + style D6 fill:#c8e6c9 +``` + +### Memory-Adaptive Dispatcher Flow + +```mermaid +stateDiagram-v2 + [*] --> Initializing + + Initializing --> MonitoringMemory: Start dispatcher + + MonitoringMemory --> CheckingMemory: Every check_interval + CheckingMemory --> MemoryOK: Memory < threshold + CheckingMemory --> MemoryHigh: Memory >= threshold + + MemoryOK --> DispatchingTasks: Start new crawls + MemoryHigh --> WaitingForMemory: Pause dispatching + + DispatchingTasks --> TaskRunning: Launch crawler + TaskRunning --> TaskCompleted: Crawl finished + TaskRunning --> TaskFailed: Crawl error + + TaskCompleted --> MonitoringMemory: Update stats + TaskFailed --> MonitoringMemory: Update stats + + WaitingForMemory --> CheckingMemory: Wait timeout + WaitingForMemory --> MonitoringMemory: Memory freed + + note right of MemoryHigh: Prevents OOM crashes + note right of DispatchingTasks: Respects max_session_permit + note right of WaitingForMemory: Configurable timeout +``` + +### Concurrent Crawling Architecture + +```mermaid +graph TB + subgraph "URL Queue Management" + A[URL Input List] --> B[URL Queue] + B --> C[Priority Scheduler] + C --> D[Batch Assignment] + end + + subgraph "Dispatcher Layer" + E[Memory Adaptive Dispatcher] + F[Semaphore Dispatcher] + G[Rate Limiter] + H[Resource Monitor] + + E --> I[Memory Checker] + F --> J[Concurrency Controller] + G --> K[Delay Calculator] + H --> L[System Stats] + end + + subgraph "Crawler Pool" + M[Crawler Instance 1] + N[Crawler Instance 2] + O[Crawler Instance 3] + P[Crawler Instance N] + + M --> Q[Browser Session 1] + N --> R[Browser Session 2] + O --> S[Browser Session 3] + P --> T[Browser Session N] + end + + subgraph "Result Processing" + U[Result Collector] + V[Success Handler] + W[Error Handler] + X[Retry Queue] + Y[Final Results] + end + + D --> E + D --> F + E --> M + F --> N + G --> O + H --> P + + Q --> U + R --> U + S --> U + T --> U + + U --> V + U --> W + W --> X + X --> B + V --> Y + + style E fill:#e3f2fd + style F fill:#f3e5f5 + style G fill:#e8f5e8 + style H fill:#fff3e0 +``` + +### Rate Limiting and Backoff Strategy + +```mermaid +sequenceDiagram + participant C as Crawler + participant RL as Rate Limiter + participant S as Server + participant D as Dispatcher + + C->>RL: Request to crawl URL + RL->>RL: Calculate delay + RL->>RL: Apply base delay (1-3s) + RL->>C: Delay applied + + C->>S: HTTP Request + + alt Success Response + S-->>C: 200 OK + Content + C->>RL: Report success + RL->>RL: Reset failure count + C->>D: Return successful result + else Rate Limited + S-->>C: 429 Too Many Requests + C->>RL: Report rate limit + RL->>RL: Exponential backoff + RL->>RL: Increase delay (up to max_delay) + RL->>C: Apply longer delay + C->>S: Retry request after delay + else Server Error + S-->>C: 503 Service Unavailable + C->>RL: Report server error + RL->>RL: Moderate backoff + RL->>C: Retry with backoff + else Max Retries Exceeded + RL->>C: Stop retrying + C->>D: Return failed result + end +``` + +### Large-Scale Crawling Workflow + +```mermaid +flowchart TD + A[Load URL List 10k+ URLs] --> B[Initialize Dispatcher] + + B --> C{Select Dispatcher Type} + C -->|Memory Constrained| D[Memory Adaptive] + C -->|Fixed Resources| E[Semaphore Based] + + D --> F[Set Memory Threshold 70%] + E --> G[Set Concurrency Limit] + + F --> H[Configure Monitoring] + G --> H + + H --> I[Start Crawling Process] + I --> J[Monitor System Resources] + + J --> K{Memory Usage?} + K -->|< Threshold| L[Continue Dispatching] + K -->|>= Threshold| M[Pause New Tasks] + + L --> N[Process Results Stream] + M --> O[Wait for Memory] + O --> K + + N --> P{Result Type?} + P -->|Success| Q[Save to Database] + P -->|Failure| R[Log Error] + + Q --> S[Update Progress Counter] + R --> S + + S --> T{More URLs?} + T -->|Yes| U[Get Next Batch] + T -->|No| V[Generate Final Report] + + U --> L + V --> W[Analysis Complete] + + style A fill:#e1f5fe + style D fill:#e8f5e8 + style E fill:#f3e5f5 + style V fill:#c8e6c9 + style W fill:#a5d6a7 +``` + +### Real-Time Monitoring Dashboard Flow + +```mermaid +graph LR + subgraph "Data Collection" + A[Crawler Tasks] --> B[Performance Metrics] + A --> C[Memory Usage] + A --> D[Success/Failure Rates] + A --> E[Response Times] + end + + subgraph "Monitor Processing" + F[CrawlerMonitor] --> G[Aggregate Statistics] + F --> H[Display Formatter] + F --> I[Update Scheduler] + end + + subgraph "Display Modes" + J[DETAILED Mode] + K[AGGREGATED Mode] + + J --> L[Individual Task Status] + J --> M[Task-Level Metrics] + K --> N[Summary Statistics] + K --> O[Overall Progress] + end + + subgraph "Output Interface" + P[Console Display] + Q[Progress Bars] + R[Status Tables] + S[Real-time Updates] + end + + B --> F + C --> F + D --> F + E --> F + + G --> J + G --> K + H --> J + H --> K + I --> J + I --> K + + L --> P + M --> Q + N --> R + O --> S + + style F fill:#e3f2fd + style J fill:#f3e5f5 + style K fill:#e8f5e8 +``` + +### Error Handling and Recovery Pattern + +```mermaid +stateDiagram-v2 + [*] --> ProcessingURL + + ProcessingURL --> CrawlAttempt: Start crawl + + CrawlAttempt --> Success: HTTP 200 + CrawlAttempt --> NetworkError: Connection failed + CrawlAttempt --> RateLimit: HTTP 429 + CrawlAttempt --> ServerError: HTTP 5xx + CrawlAttempt --> Timeout: Request timeout + + Success --> [*]: Return result + + NetworkError --> RetryCheck: Check retry count + RateLimit --> BackoffWait: Apply exponential backoff + ServerError --> RetryCheck: Check retry count + Timeout --> RetryCheck: Check retry count + + BackoffWait --> RetryCheck: After delay + + RetryCheck --> CrawlAttempt: retries < max_retries + RetryCheck --> Failed: retries >= max_retries + + Failed --> ErrorLog: Log failure details + ErrorLog --> [*]: Return failed result + + note right of BackoffWait: Exponential backoff for rate limits + note right of RetryCheck: Configurable max_retries + note right of ErrorLog: Detailed error tracking +``` + +### Resource Management Timeline + +```mermaid +gantt + title Multi-URL Crawling Resource Management + dateFormat X + axisFormat %s + + section Memory Usage + Initialize Dispatcher :0, 1 + Memory Monitoring :1, 10 + Peak Usage Period :3, 7 + Memory Cleanup :7, 9 + + section Task Execution + URL Queue Setup :0, 2 + Batch 1 Processing :2, 5 + Batch 2 Processing :4, 7 + Batch 3 Processing :6, 9 + Final Results :9, 10 + + section Rate Limiting + Normal Delays :2, 4 + Backoff Period :4, 6 + Recovery Period :6, 8 + + section Monitoring + System Health Check :0, 10 + Progress Updates :1, 9 + Performance Metrics :2, 8 +``` + +### Concurrent Processing Performance Matrix + +```mermaid +graph TD + subgraph "Input Factors" + A[Number of URLs] + B[Concurrency Level] + C[Memory Threshold] + D[Rate Limiting] + end + + subgraph "Processing Characteristics" + A --> E[Low 1-100 URLs] + A --> F[Medium 100-1k URLs] + A --> G[High 1k-10k URLs] + A --> H[Very High 10k+ URLs] + + B --> I[Conservative 1-5] + B --> J[Moderate 5-15] + B --> K[Aggressive 15-30] + + C --> L[Strict 60-70%] + C --> M[Balanced 70-80%] + C --> N[Relaxed 80-90%] + end + + subgraph "Recommended Configurations" + E --> O[Simple Semaphore] + F --> P[Memory Adaptive Basic] + G --> Q[Memory Adaptive Advanced] + H --> R[Memory Adaptive + Monitoring] + + I --> O + J --> P + K --> Q + K --> R + + L --> Q + M --> P + N --> O + end + + style O fill:#c8e6c9 + style P fill:#fff3e0 + style Q fill:#ffecb3 + style R fill:#ffcdd2 +``` + +**📖 Learn more:** [Multi-URL Crawling Guide](https://docs.crawl4ai.com/advanced/multi-url-crawling/), [Dispatcher Configuration](https://docs.crawl4ai.com/advanced/crawl-dispatcher/), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/#performance-optimization) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/simple_crawling.txt b/docs/md_v2/assets/llm.txt/diagrams/simple_crawling.txt new file mode 100644 index 00000000..cca8ceb2 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/simple_crawling.txt @@ -0,0 +1,411 @@ +## Simple Crawling Workflows and Data Flow + +Visual representations of basic web crawling operations, configuration patterns, and result processing workflows. + +### Basic Crawling Sequence + +```mermaid +sequenceDiagram + participant User + participant Crawler as AsyncWebCrawler + participant Browser as Browser Instance + participant Page as Web Page + participant Processor as Content Processor + + User->>Crawler: Create with BrowserConfig + Crawler->>Browser: Launch browser instance + Browser-->>Crawler: Browser ready + + User->>Crawler: arun(url, CrawlerRunConfig) + Crawler->>Browser: Create new page/context + Browser->>Page: Navigate to URL + Page-->>Browser: Page loaded + + Browser->>Processor: Extract raw HTML + Processor->>Processor: Clean HTML + Processor->>Processor: Generate markdown + Processor->>Processor: Extract media/links + Processor-->>Crawler: CrawlResult created + + Crawler-->>User: Return CrawlResult + + Note over User,Processor: All processing happens asynchronously +``` + +### Crawling Configuration Flow + +```mermaid +flowchart TD + A[Start Crawling] --> B{Browser Config Set?} + + B -->|No| B1[Use Default BrowserConfig] + B -->|Yes| B2[Custom BrowserConfig] + + B1 --> C[Launch Browser] + B2 --> C + + C --> D{Crawler Run Config Set?} + + D -->|No| D1[Use Default CrawlerRunConfig] + D -->|Yes| D2[Custom CrawlerRunConfig] + + D1 --> E[Navigate to URL] + D2 --> E + + E --> F{Page Load Success?} + F -->|No| F1[Return Error Result] + F -->|Yes| G[Apply Content Filters] + + G --> G1{excluded_tags set?} + G1 -->|Yes| G2[Remove specified tags] + G1 -->|No| G3[Keep all tags] + G2 --> G4{css_selector set?} + G3 --> G4 + + G4 -->|Yes| G5[Extract selected elements] + G4 -->|No| G6[Process full page] + G5 --> H[Generate Markdown] + G6 --> H + + H --> H1{markdown_generator set?} + H1 -->|Yes| H2[Use custom generator] + H1 -->|No| H3[Use default generator] + H2 --> I[Extract Media and Links] + H3 --> I + + I --> I1{process_iframes?} + I1 -->|Yes| I2[Include iframe content] + I1 -->|No| I3[Skip iframes] + I2 --> J[Create CrawlResult] + I3 --> J + + J --> K[Return Result] + + style A fill:#e1f5fe + style K fill:#c8e6c9 + style F1 fill:#ffcdd2 +``` + +### CrawlResult Data Structure + +```mermaid +graph TB + subgraph "CrawlResult Object" + A[CrawlResult] --> B[Basic Info] + A --> C[Content Variants] + A --> D[Extracted Data] + A --> E[Media Assets] + A --> F[Optional Outputs] + + B --> B1[url: Final URL] + B --> B2[success: Boolean] + B --> B3[status_code: HTTP Status] + B --> B4[error_message: Error Details] + + C --> C1[html: Raw HTML] + C --> C2[cleaned_html: Sanitized HTML] + C --> C3[markdown: MarkdownGenerationResult] + + C3 --> C3A[raw_markdown: Basic conversion] + C3 --> C3B[markdown_with_citations: With references] + C3 --> C3C[fit_markdown: Filtered content] + C3 --> C3D[references_markdown: Citation list] + + D --> D1[links: Internal/External] + D --> D2[media: Images/Videos/Audio] + D --> D3[metadata: Page info] + D --> D4[extracted_content: JSON data] + D --> D5[tables: Structured table data] + + E --> E1[screenshot: Base64 image] + E --> E2[pdf: PDF bytes] + E --> E3[mhtml: Archive file] + E --> E4[downloaded_files: File paths] + + F --> F1[session_id: Browser session] + F --> F2[ssl_certificate: Security info] + F --> F3[response_headers: HTTP headers] + F --> F4[network_requests: Traffic log] + F --> F5[console_messages: Browser logs] + end + + style A fill:#e3f2fd + style C3 fill:#f3e5f5 + style D5 fill:#e8f5e8 +``` + +### Content Processing Pipeline + +```mermaid +flowchart LR + subgraph "Input Sources" + A1[Web URL] + A2[Raw HTML] + A3[Local File] + end + + A1 --> B[Browser Navigation] + A2 --> C[Direct Processing] + A3 --> C + + B --> D[Raw HTML Capture] + C --> D + + D --> E{Content Filtering} + + E --> E1[Remove Scripts/Styles] + E --> E2[Apply excluded_tags] + E --> E3[Apply css_selector] + E --> E4[Remove overlay elements] + + E1 --> F[Cleaned HTML] + E2 --> F + E3 --> F + E4 --> F + + F --> G{Markdown Generation} + + G --> G1[HTML to Markdown] + G --> G2[Apply Content Filter] + G --> G3[Generate Citations] + + G1 --> H[MarkdownGenerationResult] + G2 --> H + G3 --> H + + F --> I{Media Extraction} + I --> I1[Find Images] + I --> I2[Find Videos/Audio] + I --> I3[Score Relevance] + I1 --> J[Media Dictionary] + I2 --> J + I3 --> J + + F --> K{Link Extraction} + K --> K1[Internal Links] + K --> K2[External Links] + K --> K3[Apply Link Filters] + K1 --> L[Links Dictionary] + K2 --> L + K3 --> L + + H --> M[Final CrawlResult] + J --> M + L --> M + + style D fill:#e3f2fd + style F fill:#f3e5f5 + style H fill:#e8f5e8 + style M fill:#c8e6c9 +``` + +### Table Extraction Workflow + +```mermaid +stateDiagram-v2 + [*] --> DetectTables + + DetectTables --> ScoreTables: Find table elements + + ScoreTables --> EvaluateThreshold: Calculate quality scores + EvaluateThreshold --> PassThreshold: score >= table_score_threshold + EvaluateThreshold --> RejectTable: score < threshold + + PassThreshold --> ExtractHeaders: Parse table structure + ExtractHeaders --> ExtractRows: Get header cells + ExtractRows --> ExtractMetadata: Get data rows + ExtractMetadata --> CreateTableObject: Get caption/summary + + CreateTableObject --> AddToResult: {headers, rows, caption, summary} + AddToResult --> [*]: Table extraction complete + + RejectTable --> [*]: Table skipped + + note right of ScoreTables : Factors: header presence, data density, structure quality + note right of EvaluateThreshold : Threshold 1-10, higher = stricter +``` + +### Error Handling Decision Tree + +```mermaid +flowchart TD + A[Start Crawl] --> B[Navigate to URL] + + B --> C{Navigation Success?} + C -->|Network Error| C1[Set error_message: Network failure] + C -->|Timeout| C2[Set error_message: Page timeout] + C -->|Invalid URL| C3[Set error_message: Invalid URL format] + C -->|Success| D[Process Page Content] + + C1 --> E[success = False] + C2 --> E + C3 --> E + + D --> F{Content Processing OK?} + F -->|Parser Error| F1[Set error_message: HTML parsing failed] + F -->|Memory Error| F2[Set error_message: Insufficient memory] + F -->|Success| G[Generate Outputs] + + F1 --> E + F2 --> E + + G --> H{Output Generation OK?} + H -->|Markdown Error| H1[Partial success with warnings] + H -->|Extraction Error| H2[Partial success with warnings] + H -->|Success| I[success = True] + + H1 --> I + H2 --> I + + E --> J[Return Failed CrawlResult] + I --> K[Return Successful CrawlResult] + + J --> L[User Error Handling] + K --> M[User Result Processing] + + L --> L1{Check error_message} + L1 -->|Network| L2[Retry with different config] + L1 -->|Timeout| L3[Increase page_timeout] + L1 -->|Parser| L4[Try different scraping_strategy] + + style E fill:#ffcdd2 + style I fill:#c8e6c9 + style J fill:#ffcdd2 + style K fill:#c8e6c9 +``` + +### Configuration Impact Matrix + +```mermaid +graph TB + subgraph "Configuration Categories" + A[Content Processing] + B[Page Interaction] + C[Output Generation] + D[Performance] + end + + subgraph "Configuration Options" + A --> A1[word_count_threshold] + A --> A2[excluded_tags] + A --> A3[css_selector] + A --> A4[exclude_external_links] + + B --> B1[process_iframes] + B --> B2[remove_overlay_elements] + B --> B3[scan_full_page] + B --> B4[wait_for] + + C --> C1[screenshot] + C --> C2[pdf] + C --> C3[markdown_generator] + C --> C4[table_score_threshold] + + D --> D1[cache_mode] + D --> D2[verbose] + D --> D3[page_timeout] + D --> D4[semaphore_count] + end + + subgraph "Result Impact" + A1 --> R1[Filters short text blocks] + A2 --> R2[Removes specified HTML tags] + A3 --> R3[Focuses on selected content] + A4 --> R4[Cleans links dictionary] + + B1 --> R5[Includes iframe content] + B2 --> R6[Removes popups/modals] + B3 --> R7[Loads dynamic content] + B4 --> R8[Waits for specific elements] + + C1 --> R9[Adds screenshot field] + C2 --> R10[Adds pdf field] + C3 --> R11[Custom markdown processing] + C4 --> R12[Filters table quality] + + D1 --> R13[Controls caching behavior] + D2 --> R14[Detailed logging output] + D3 --> R15[Prevents timeout errors] + D4 --> R16[Limits concurrent operations] + end + + style A fill:#e3f2fd + style B fill:#f3e5f5 + style C fill:#e8f5e8 + style D fill:#fff3e0 +``` + +### Raw HTML and Local File Processing + +```mermaid +sequenceDiagram + participant User + participant Crawler + participant Processor + participant FileSystem + + Note over User,FileSystem: Raw HTML Processing + User->>Crawler: arun("raw://html_content") + Crawler->>Processor: Parse raw HTML directly + Processor->>Processor: Apply same content filters + Processor-->>Crawler: Standard CrawlResult + Crawler-->>User: Result with markdown + + Note over User,FileSystem: Local File Processing + User->>Crawler: arun("file:///path/to/file.html") + Crawler->>FileSystem: Read local file + FileSystem-->>Crawler: File content + Crawler->>Processor: Process file HTML + Processor->>Processor: Apply content processing + Processor-->>Crawler: Standard CrawlResult + Crawler-->>User: Result with markdown + + Note over User,FileSystem: Both return identical CrawlResult structure +``` + +### Comprehensive Processing Example Flow + +```mermaid +flowchart TD + A[Input: example.com] --> B[Create Configurations] + + B --> B1[BrowserConfig verbose=True] + B --> B2[CrawlerRunConfig with filters] + + B1 --> C[Launch AsyncWebCrawler] + B2 --> C + + C --> D[Navigate and Process] + + D --> E{Check Success} + E -->|Failed| E1[Print Error Message] + E -->|Success| F[Extract Content Summary] + + F --> F1[Get Page Title] + F --> F2[Get Content Preview] + F --> F3[Process Media Items] + F --> F4[Process Links] + + F3 --> F3A[Count Images] + F3 --> F3B[Show First 3 Images] + + F4 --> F4A[Count Internal Links] + F4 --> F4B[Show First 3 Links] + + F1 --> G[Display Results] + F2 --> G + F3A --> G + F3B --> G + F4A --> G + F4B --> G + + E1 --> H[End with Error] + G --> I[End with Success] + + style E1 fill:#ffcdd2 + style G fill:#c8e6c9 + style H fill:#ffcdd2 + style I fill:#c8e6c9 +``` + +**📖 Learn more:** [Simple Crawling Guide](https://docs.crawl4ai.com/core/simple-crawling/), [Configuration Options](https://docs.crawl4ai.com/core/browser-crawler-config/), [Result Processing](https://docs.crawl4ai.com/core/crawler-result/), [Table Extraction](https://docs.crawl4ai.com/extraction/no-llm-strategies/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/diagrams/url_seeder.txt b/docs/md_v2/assets/llm.txt/diagrams/url_seeder.txt new file mode 100644 index 00000000..21017327 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/diagrams/url_seeder.txt @@ -0,0 +1,441 @@ +## URL Seeding Workflows and Architecture + +Visual representations of URL discovery strategies, filtering pipelines, and smart crawling workflows. + +### URL Seeding vs Deep Crawling Strategy Comparison + +```mermaid +graph TB + subgraph "Deep Crawling Approach" + A1[Start URL] --> A2[Load Page] + A2 --> A3[Extract Links] + A3 --> A4{More Links?} + A4 -->|Yes| A5[Queue Next Page] + A5 --> A2 + A4 -->|No| A6[Complete] + + A7[⏱️ Real-time Discovery] + A8[🐌 Sequential Processing] + A9[🔍 Limited by Page Structure] + A10[💾 High Memory Usage] + end + + subgraph "URL Seeding Approach" + B1[Domain Input] --> B2[Query Sitemap] + B1 --> B3[Query Common Crawl] + B2 --> B4[Merge Results] + B3 --> B4 + B4 --> B5[Apply Filters] + B5 --> B6[Score Relevance] + B6 --> B7[Rank Results] + B7 --> B8[Select Top URLs] + + B9[⚡ Instant Discovery] + B10[🚀 Parallel Processing] + B11[🎯 Pattern-based Filtering] + B12[💡 Smart Relevance Scoring] + end + + style A1 fill:#ffecb3 + style B1 fill:#e8f5e8 + style A6 fill:#ffcdd2 + style B8 fill:#c8e6c9 +``` + +### URL Discovery Data Flow + +```mermaid +sequenceDiagram + participant User + participant Seeder as AsyncUrlSeeder + participant SM as Sitemap + participant CC as Common Crawl + participant Filter as URL Filter + participant Scorer as BM25 Scorer + + User->>Seeder: urls("example.com", config) + + par Parallel Data Sources + Seeder->>SM: Fetch sitemap.xml + SM-->>Seeder: 500 URLs + and + Seeder->>CC: Query Common Crawl + CC-->>Seeder: 2000 URLs + end + + Seeder->>Seeder: Merge and deduplicate + Note over Seeder: 2200 unique URLs + + Seeder->>Filter: Apply pattern filter + Filter-->>Seeder: 800 matching URLs + + alt extract_head=True + loop For each URL + Seeder->>Seeder: Extract metadata + end + Note over Seeder: Title, description, keywords + end + + alt query provided + Seeder->>Scorer: Calculate relevance scores + Scorer-->>Seeder: Scored URLs + Seeder->>Seeder: Filter by score_threshold + Note over Seeder: 200 relevant URLs + end + + Seeder->>Seeder: Sort by relevance + Seeder->>Seeder: Apply max_urls limit + Seeder-->>User: Top 100 URLs ready for crawling +``` + +### SeedingConfig Decision Tree + +```mermaid +flowchart TD + A[SeedingConfig Setup] --> B{Data Source Strategy?} + + B -->|Fast & Official| C[source="sitemap"] + B -->|Comprehensive| D[source="cc"] + B -->|Maximum Coverage| E[source="sitemap+cc"] + + C --> F{Need Filtering?} + D --> F + E --> F + + F -->|Yes| G[Set URL Pattern] + F -->|No| H[pattern="*"] + + G --> I{Pattern Examples} + I --> I1[pattern="*/blog/*"] + I --> I2[pattern="*/docs/api/*"] + I --> I3[pattern="*.pdf"] + I --> I4[pattern="*/product/*"] + + H --> J{Need Metadata?} + I1 --> J + I2 --> J + I3 --> J + I4 --> J + + J -->|Yes| K[extract_head=True] + J -->|No| L[extract_head=False] + + K --> M{Need Validation?} + L --> M + + M -->|Yes| N[live_check=True] + M -->|No| O[live_check=False] + + N --> P{Need Relevance Scoring?} + O --> P + + P -->|Yes| Q[Set Query + BM25] + P -->|No| R[Skip Scoring] + + Q --> S[query="search terms"] + S --> T[scoring_method="bm25"] + T --> U[score_threshold=0.3] + + R --> V[Performance Tuning] + U --> V + + V --> W[Set max_urls] + W --> X[Set concurrency] + X --> Y[Set hits_per_sec] + Y --> Z[Configuration Complete] + + style A fill:#e3f2fd + style Z fill:#c8e6c9 + style K fill:#fff3e0 + style N fill:#fff3e0 + style Q fill:#f3e5f5 +``` + +### BM25 Relevance Scoring Pipeline + +```mermaid +graph TB + subgraph "Text Corpus Preparation" + A1[URL Collection] --> A2[Extract Metadata] + A2 --> A3[Title + Description + Keywords] + A3 --> A4[Tokenize Text] + A4 --> A5[Remove Stop Words] + A5 --> A6[Create Document Corpus] + end + + subgraph "BM25 Algorithm" + B1[Query Terms] --> B2[Term Frequency Calculation] + A6 --> B2 + B2 --> B3[Inverse Document Frequency] + B3 --> B4[BM25 Score Calculation] + B4 --> B5[Score = Σ(IDF × TF × K1+1)/(TF + K1×(1-b+b×|d|/avgdl))] + end + + subgraph "Scoring Results" + B5 --> C1[URL Relevance Scores] + C1 --> C2{Score ≥ Threshold?} + C2 -->|Yes| C3[Include in Results] + C2 -->|No| C4[Filter Out] + C3 --> C5[Sort by Score DESC] + C5 --> C6[Return Top URLs] + end + + subgraph "Example Scores" + D1["python async tutorial" → 0.85] + D2["python documentation" → 0.72] + D3["javascript guide" → 0.23] + D4["contact us page" → 0.05] + end + + style B5 fill:#e3f2fd + style C6 fill:#c8e6c9 + style D1 fill:#c8e6c9 + style D2 fill:#c8e6c9 + style D3 fill:#ffecb3 + style D4 fill:#ffcdd2 +``` + +### Multi-Domain Discovery Architecture + +```mermaid +graph TB + subgraph "Input Layer" + A1[Domain List] + A2[SeedingConfig] + A3[Query Terms] + end + + subgraph "Discovery Engine" + B1[AsyncUrlSeeder] + B2[Parallel Workers] + B3[Rate Limiter] + B4[Memory Manager] + end + + subgraph "Data Sources" + C1[Sitemap Fetcher] + C2[Common Crawl API] + C3[Live URL Checker] + C4[Metadata Extractor] + end + + subgraph "Processing Pipeline" + D1[URL Deduplication] + D2[Pattern Filtering] + D3[Relevance Scoring] + D4[Quality Assessment] + end + + subgraph "Output Layer" + E1[Scored URL Lists] + E2[Domain Statistics] + E3[Performance Metrics] + E4[Cache Storage] + end + + A1 --> B1 + A2 --> B1 + A3 --> B1 + + B1 --> B2 + B2 --> B3 + B3 --> B4 + + B2 --> C1 + B2 --> C2 + B2 --> C3 + B2 --> C4 + + C1 --> D1 + C2 --> D1 + C3 --> D2 + C4 --> D3 + + D1 --> D2 + D2 --> D3 + D3 --> D4 + + D4 --> E1 + B4 --> E2 + B3 --> E3 + D1 --> E4 + + style B1 fill:#e3f2fd + style D3 fill:#f3e5f5 + style E1 fill:#c8e6c9 +``` + +### Complete Discovery-to-Crawl Pipeline + +```mermaid +stateDiagram-v2 + [*] --> Discovery + + Discovery --> SourceSelection: Configure data sources + SourceSelection --> Sitemap: source="sitemap" + SourceSelection --> CommonCrawl: source="cc" + SourceSelection --> Both: source="sitemap+cc" + + Sitemap --> URLCollection + CommonCrawl --> URLCollection + Both --> URLCollection + + URLCollection --> Filtering: Apply patterns + Filtering --> MetadataExtraction: extract_head=True + Filtering --> LiveValidation: extract_head=False + + MetadataExtraction --> LiveValidation: live_check=True + MetadataExtraction --> RelevanceScoring: live_check=False + LiveValidation --> RelevanceScoring + + RelevanceScoring --> ResultRanking: query provided + RelevanceScoring --> ResultLimiting: no query + + ResultRanking --> ResultLimiting: apply score_threshold + ResultLimiting --> URLSelection: apply max_urls + + URLSelection --> CrawlPreparation: URLs ready + CrawlPreparation --> CrawlExecution: AsyncWebCrawler + + CrawlExecution --> StreamProcessing: stream=True + CrawlExecution --> BatchProcessing: stream=False + + StreamProcessing --> [*] + BatchProcessing --> [*] + + note right of Discovery : 🔍 Smart URL Discovery + note right of URLCollection : 📚 Merge & Deduplicate + note right of RelevanceScoring : 🎯 BM25 Algorithm + note right of CrawlExecution : 🕷️ High-Performance Crawling +``` + +### Performance Optimization Strategies + +```mermaid +graph LR + subgraph "Input Optimization" + A1[Smart Source Selection] --> A2[Sitemap First] + A2 --> A3[Add CC if Needed] + A3 --> A4[Pattern Filtering Early] + end + + subgraph "Processing Optimization" + B1[Parallel Workers] --> B2[Bounded Queues] + B2 --> B3[Rate Limiting] + B3 --> B4[Memory Management] + B4 --> B5[Lazy Evaluation] + end + + subgraph "Output Optimization" + C1[Relevance Threshold] --> C2[Max URL Limits] + C2 --> C3[Caching Strategy] + C3 --> C4[Streaming Results] + end + + subgraph "Performance Metrics" + D1[URLs/Second: 100-1000] + D2[Memory Usage: Bounded] + D3[Network Efficiency: 95%+] + D4[Cache Hit Rate: 80%+] + end + + A4 --> B1 + B5 --> C1 + C4 --> D1 + + style A2 fill:#e8f5e8 + style B2 fill:#e3f2fd + style C3 fill:#f3e5f5 + style D3 fill:#c8e6c9 +``` + +### URL Discovery vs Traditional Crawling Comparison + +```mermaid +graph TB + subgraph "Traditional Approach" + T1[Start URL] --> T2[Crawl Page] + T2 --> T3[Extract Links] + T3 --> T4[Queue New URLs] + T4 --> T2 + T5[❌ Time: Hours/Days] + T6[❌ Resource Heavy] + T7[❌ Depth Limited] + T8[❌ Discovery Bias] + end + + subgraph "URL Seeding Approach" + S1[Domain Input] --> S2[Query All Sources] + S2 --> S3[Pattern Filter] + S3 --> S4[Relevance Score] + S4 --> S5[Select Best URLs] + S5 --> S6[Ready to Crawl] + + S7[✅ Time: Seconds/Minutes] + S8[✅ Resource Efficient] + S9[✅ Complete Coverage] + S10[✅ Quality Focused] + end + + subgraph "Use Case Decision Matrix" + U1[Small Sites < 1000 pages] --> U2[Use Deep Crawling] + U3[Large Sites > 10000 pages] --> U4[Use URL Seeding] + U5[Unknown Structure] --> U6[Start with Seeding] + U7[Real-time Discovery] --> U8[Use Deep Crawling] + U9[Quality over Quantity] --> U10[Use URL Seeding] + end + + style S6 fill:#c8e6c9 + style S7 fill:#c8e6c9 + style S8 fill:#c8e6c9 + style S9 fill:#c8e6c9 + style S10 fill:#c8e6c9 + style T5 fill:#ffcdd2 + style T6 fill:#ffcdd2 + style T7 fill:#ffcdd2 + style T8 fill:#ffcdd2 +``` + +### Data Source Characteristics and Selection + +```mermaid +graph TB + subgraph "Sitemap Source" + SM1[📋 Official URL List] + SM2[⚡ Fast Response] + SM3[📅 Recently Updated] + SM4[🎯 High Quality URLs] + SM5[❌ May Miss Some Pages] + end + + subgraph "Common Crawl Source" + CC1[🌐 Comprehensive Coverage] + CC2[📚 Historical Data] + CC3[🔍 Deep Discovery] + CC4[⏳ Slower Response] + CC5[🧹 May Include Noise] + end + + subgraph "Combined Strategy" + CB1[🚀 Best of Both] + CB2[📊 Maximum Coverage] + CB3[✨ Automatic Deduplication] + CB4[⚖️ Balanced Performance] + end + + subgraph "Selection Guidelines" + G1[Speed Critical → Sitemap Only] + G2[Coverage Critical → Common Crawl] + G3[Best Quality → Combined] + G4[Unknown Domain → Combined] + end + + style SM2 fill:#c8e6c9 + style SM4 fill:#c8e6c9 + style CC1 fill:#e3f2fd + style CC3 fill:#e3f2fd + style CB1 fill:#f3e5f5 + style CB3 fill:#f3e5f5 +``` + +**📖 Learn more:** [URL Seeding Guide](https://docs.crawl4ai.com/core/url-seeding/), [Performance Optimization](https://docs.crawl4ai.com/advanced/optimization/), [Multi-URL Crawling](https://docs.crawl4ai.com/advanced/multi-url-crawling/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/cli.txt b/docs/md_v2/assets/llm.txt/txt/cli.txt new file mode 100644 index 00000000..b9107bb3 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/cli.txt @@ -0,0 +1,295 @@ +## CLI & Identity-Based Browsing + +Command-line interface for web crawling with persistent browser profiles, authentication, and identity management. + +### Basic CLI Usage + +```bash +# Simple crawling +crwl https://example.com + +# Get markdown output +crwl https://example.com -o markdown + +# JSON output with cache bypass +crwl https://example.com -o json --bypass-cache + +# Verbose mode with specific browser settings +crwl https://example.com -b "headless=false,viewport_width=1280" -v +``` + +### Profile Management Commands + +```bash +# Launch interactive profile manager +crwl profiles + +# Create, list, and manage browser profiles +# This opens a menu where you can: +# 1. List existing profiles +# 2. Create new profile (opens browser for setup) +# 3. Delete profiles +# 4. Use profile to crawl a website + +# Use a specific profile for crawling +crwl https://example.com -p my-profile-name + +# Example workflow for authenticated sites: +# 1. Create profile and log in +crwl profiles # Select "Create new profile" +# 2. Use profile for crawling authenticated content +crwl https://site-requiring-login.com/dashboard -p my-profile-name +``` + +### CDP Browser Management + +```bash +# Launch browser with CDP debugging (default port 9222) +crwl cdp + +# Use specific profile and custom port +crwl cdp -p my-profile -P 9223 + +# Launch headless browser with CDP +crwl cdp --headless + +# Launch in incognito mode (ignores profile) +crwl cdp --incognito + +# Use custom user data directory +crwl cdp --user-data-dir ~/my-browser-data --port 9224 +``` + +### Builtin Browser Management + +```bash +# Start persistent browser instance +crwl browser start + +# Check browser status +crwl browser status + +# Open visible window to see the browser +crwl browser view --url https://example.com + +# Stop the browser +crwl browser stop + +# Restart with different options +crwl browser restart --browser-type chromium --port 9223 --no-headless + +# Use builtin browser in crawling +crwl https://example.com -b "browser_mode=builtin" +``` + +### Authentication Workflow Examples + +```bash +# Complete workflow for LinkedIn scraping +# 1. Create authenticated profile +crwl profiles +# Select "Create new profile" → login to LinkedIn in browser → press 'q' to save + +# 2. Use profile for crawling +crwl https://linkedin.com/in/someone -p linkedin-profile -o markdown + +# 3. Extract structured data with authentication +crwl https://linkedin.com/search/results/people/ \ + -p linkedin-profile \ + -j "Extract people profiles with names, titles, and companies" \ + -b "headless=false" + +# GitHub authenticated crawling +crwl profiles # Create github-profile +crwl https://github.com/settings/profile -p github-profile + +# Twitter/X authenticated access +crwl profiles # Create twitter-profile +crwl https://twitter.com/home -p twitter-profile -o markdown +``` + +### Advanced CLI Configuration + +```bash +# Complex crawling with multiple configs +crwl https://example.com \ + -B browser.yml \ + -C crawler.yml \ + -e extract_llm.yml \ + -s llm_schema.json \ + -p my-auth-profile \ + -o json \ + -v + +# Quick LLM extraction with authentication +crwl https://private-site.com/dashboard \ + -p auth-profile \ + -j "Extract user dashboard data including metrics and notifications" \ + -b "headless=true,viewport_width=1920" + +# Content filtering with authentication +crwl https://members-only-site.com \ + -p member-profile \ + -f filter_bm25.yml \ + -c "css_selector=.member-content,scan_full_page=true" \ + -o markdown-fit +``` + +### Configuration Files for Identity Browsing + +```yaml +# browser_auth.yml +headless: false +use_managed_browser: true +user_data_dir: "/path/to/profile" +viewport_width: 1280 +viewport_height: 720 +simulate_user: true +override_navigator: true + +# crawler_auth.yml +magic: true +remove_overlay_elements: true +simulate_user: true +wait_for: "css:.authenticated-content" +page_timeout: 60000 +delay_before_return_html: 2 +scan_full_page: true +``` + +### Global Configuration Management + +```bash +# List all configuration settings +crwl config list + +# Set default LLM provider +crwl config set DEFAULT_LLM_PROVIDER "anthropic/claude-3-sonnet" +crwl config set DEFAULT_LLM_PROVIDER_TOKEN "your-api-token" + +# Set browser defaults +crwl config set BROWSER_HEADLESS false # Always show browser +crwl config set USER_AGENT_MODE random # Random user agents + +# Enable verbose mode globally +crwl config set VERBOSE true +``` + +### Q&A with Authenticated Content + +```bash +# Ask questions about authenticated content +crwl https://private-dashboard.com -p dashboard-profile \ + -q "What are the key metrics shown in my dashboard?" + +# Multiple questions workflow +crwl https://company-intranet.com -p work-profile -o markdown # View content +crwl https://company-intranet.com -p work-profile \ + -q "Summarize this week's announcements" +crwl https://company-intranet.com -p work-profile \ + -q "What are the upcoming deadlines?" +``` + +### Profile Creation Programmatically + +```python +# Create profiles via Python API +import asyncio +from crawl4ai import BrowserProfiler + +async def create_auth_profile(): + profiler = BrowserProfiler() + + # Create profile interactively (opens browser) + profile_path = await profiler.create_profile("linkedin-auth") + print(f"Profile created at: {profile_path}") + + # List all profiles + profiles = profiler.list_profiles() + for profile in profiles: + print(f"Profile: {profile['name']} at {profile['path']}") + + # Use profile for crawling + from crawl4ai import AsyncWebCrawler, BrowserConfig + + browser_config = BrowserConfig( + headless=True, + use_managed_browser=True, + user_data_dir=profile_path + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun("https://linkedin.com/feed") + return result + +# asyncio.run(create_auth_profile()) +``` + +### Identity Browsing Best Practices + +```bash +# 1. Create specific profiles for different sites +crwl profiles # Create "linkedin-work" +crwl profiles # Create "github-personal" +crwl profiles # Create "company-intranet" + +# 2. Use descriptive profile names +crwl https://site1.com -p site1-admin-account +crwl https://site2.com -p site2-user-account + +# 3. Combine with appropriate browser settings +crwl https://secure-site.com \ + -p secure-profile \ + -b "headless=false,simulate_user=true,magic=true" \ + -c "wait_for=.logged-in-indicator,page_timeout=30000" + +# 4. Test profile before automated crawling +crwl cdp -p test-profile # Manually verify login status +crwl https://test-url.com -p test-profile -v # Verbose test crawl +``` + +### Troubleshooting Authentication Issues + +```bash +# Debug authentication problems +crwl https://auth-site.com -p auth-profile \ + -b "headless=false,verbose=true" \ + -c "verbose=true,page_timeout=60000" \ + -v + +# Check profile status +crwl profiles # List profiles and check creation dates + +# Recreate problematic profiles +crwl profiles # Delete old profile, create new one + +# Test with visible browser +crwl https://problem-site.com -p profile-name \ + -b "headless=false" \ + -c "delay_before_return_html=5" +``` + +### Common Use Cases + +```bash +# Social media monitoring (after authentication) +crwl https://twitter.com/home -p twitter-monitor \ + -j "Extract latest tweets with sentiment and engagement metrics" + +# E-commerce competitor analysis (with account access) +crwl https://competitor-site.com/products -p competitor-account \ + -j "Extract product prices, availability, and descriptions" + +# Company dashboard monitoring +crwl https://company-dashboard.com -p work-profile \ + -c "css_selector=.dashboard-content" \ + -q "What alerts or notifications need attention?" + +# Research data collection (authenticated access) +crwl https://research-platform.com/data -p research-profile \ + -e extract_research.yml \ + -s research_schema.json \ + -o json +``` + +**📖 Learn more:** [Identity-Based Crawling Documentation](https://docs.crawl4ai.com/advanced/identity-based-crawling/), [Browser Profile Management](https://docs.crawl4ai.com/advanced/session-management/), [CLI Examples](https://docs.crawl4ai.com/core/cli/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/config_objects.txt b/docs/md_v2/assets/llm.txt/txt/config_objects.txt new file mode 100644 index 00000000..e84d9b90 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/config_objects.txt @@ -0,0 +1,1171 @@ +## Browser, Crawler & LLM Configuration + +Core configuration classes for controlling browser behavior, crawl operations, LLM providers, and understanding crawl results. + +### BrowserConfig - Browser Environment Setup + +```python +from crawl4ai import BrowserConfig, AsyncWebCrawler + +# Basic browser configuration +browser_config = BrowserConfig( + browser_type="chromium", # "chromium", "firefox", "webkit" + headless=True, # False for visible browser (debugging) + viewport_width=1280, + viewport_height=720, + verbose=True +) + +# Advanced browser setup with proxy and persistence +browser_config = BrowserConfig( + headless=False, + proxy="http://user:pass@proxy:8080", + use_persistent_context=True, + user_data_dir="./browser_data", + cookies=[ + {"name": "session", "value": "abc123", "domain": "example.com"} + ], + headers={"Accept-Language": "en-US,en;q=0.9"}, + user_agent="Mozilla/5.0 (X11; Linux x86_64) Chrome/116.0.0.0 Safari/537.36", + text_mode=True, # Disable images for faster crawling + extra_args=["--disable-extensions", "--no-sandbox"] +) + +async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun("https://example.com") +``` + +### CrawlerRunConfig - Crawl Operation Control + +```python +from crawl4ai import CrawlerRunConfig, CacheMode +from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator +from crawl4ai.content_filter_strategy import PruningContentFilter + +# Basic crawl configuration +run_config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + word_count_threshold=10, + excluded_tags=["nav", "footer", "script"], + exclude_external_links=True, + screenshot=True, + pdf=True +) + +# Advanced content processing +md_generator = DefaultMarkdownGenerator( + content_filter=PruningContentFilter(threshold=0.6), + options={"citations": True, "ignore_links": False} +) + +run_config = CrawlerRunConfig( + # Content processing + markdown_generator=md_generator, + css_selector="main.content", # Focus on specific content + target_elements=[".article", ".post"], # Multiple target selectors + process_iframes=True, + remove_overlay_elements=True, + + # Page interaction + js_code=[ + "window.scrollTo(0, document.body.scrollHeight);", + "document.querySelector('.load-more')?.click();" + ], + wait_for="css:.content-loaded", + wait_for_timeout=10000, + scan_full_page=True, + + # Session management + session_id="persistent_session", + + # Media handling + screenshot=True, + pdf=True, + capture_mhtml=True, + image_score_threshold=5, + + # Advanced options + simulate_user=True, + magic=True, # Auto-handle popups + verbose=True +) +``` + +### CrawlerRunConfig Parameters by Category + +```python +# Content Processing +config = CrawlerRunConfig( + word_count_threshold=10, # Min words per content block + css_selector="main.article", # Focus on specific content + target_elements=[".post", ".content"], # Multiple target selectors + excluded_tags=["nav", "footer"], # Remove these tags + excluded_selector="#ads, .tracker", # Remove by selector + only_text=True, # Text-only extraction + keep_data_attributes=True, # Preserve data-* attributes + remove_forms=True, # Remove all forms + process_iframes=True # Include iframe content +) + +# Page Navigation & Timing +config = CrawlerRunConfig( + wait_until="networkidle", # Wait condition + page_timeout=60000, # 60 second timeout + wait_for="css:.loaded", # Wait for specific element + wait_for_images=True, # Wait for images to load + delay_before_return_html=0.5, # Final delay before capture + semaphore_count=10 # Max concurrent operations +) + +# Page Interaction +config = CrawlerRunConfig( + js_code="document.querySelector('button').click();", + scan_full_page=True, # Auto-scroll page + scroll_delay=0.3, # Delay between scrolls + remove_overlay_elements=True, # Remove popups/modals + simulate_user=True, # Simulate human behavior + override_navigator=True, # Override navigator properties + magic=True # Auto-handle common patterns +) + +# Caching & Session +config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, # Cache behavior + session_id="my_session", # Persistent session + shared_data={"context": "value"} # Share data between hooks +) + +# Media & Output +config = CrawlerRunConfig( + screenshot=True, # Capture screenshot + pdf=True, # Generate PDF + capture_mhtml=True, # Capture MHTML archive + image_score_threshold=3, # Filter low-quality images + exclude_external_images=True # Remove external images +) + +# Link & Domain Filtering +config = CrawlerRunConfig( + exclude_external_links=True, # Remove external links + exclude_social_media_links=True, # Remove social media links + exclude_domains=["ads.com", "tracker.io"], # Custom domain filter + exclude_internal_links=False # Keep internal links +) +``` + +### LLMConfig - Language Model Setup + +```python +from crawl4ai import LLMConfig + +# OpenAI configuration +llm_config = LLMConfig( + provider="openai/gpt-4o-mini", + api_token=os.getenv("OPENAI_API_KEY"), # or "env:OPENAI_API_KEY" + temperature=0.1, + max_tokens=2000 +) + +# Local model with Ollama +llm_config = LLMConfig( + provider="ollama/llama3.3", + api_token=None, # Not needed for Ollama + base_url="http://localhost:11434" # Custom endpoint +) + +# Anthropic Claude +llm_config = LLMConfig( + provider="anthropic/claude-3-5-sonnet-20240620", + api_token="env:ANTHROPIC_API_KEY", + max_tokens=4000 +) + +# Google Gemini +llm_config = LLMConfig( + provider="gemini/gemini-1.5-pro", + api_token="env:GEMINI_API_KEY" +) + +# Groq (fast inference) +llm_config = LLMConfig( + provider="groq/llama3-70b-8192", + api_token="env:GROQ_API_KEY" +) +``` + +### CrawlResult - Understanding Output + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig + +async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com", config=run_config) + + # Basic status information + print(f"Success: {result.success}") + print(f"Status: {result.status_code}") + print(f"URL: {result.url}") + + if not result.success: + print(f"Error: {result.error_message}") + return + + # HTML content variants + print(f"Original HTML: {len(result.html)} chars") + print(f"Cleaned HTML: {len(result.cleaned_html or '')} chars") + + # Markdown output (MarkdownGenerationResult) + if result.markdown: + print(f"Raw markdown: {len(result.markdown.raw_markdown)} chars") + print(f"With citations: {len(result.markdown.markdown_with_citations)} chars") + + # Filtered content (if content filter was used) + if result.markdown.fit_markdown: + print(f"Fit markdown: {len(result.markdown.fit_markdown)} chars") + print(f"Fit HTML: {len(result.markdown.fit_html)} chars") + + # Extracted structured data + if result.extracted_content: + import json + data = json.loads(result.extracted_content) + print(f"Extracted {len(data)} items") + + # Media and links + images = result.media.get("images", []) + print(f"Found {len(images)} images") + for img in images[:3]: # First 3 images + print(f" {img.get('src')} (score: {img.get('score', 0)})") + + internal_links = result.links.get("internal", []) + external_links = result.links.get("external", []) + print(f"Links: {len(internal_links)} internal, {len(external_links)} external") + + # Generated files + if result.screenshot: + print(f"Screenshot captured: {len(result.screenshot)} chars (base64)") + # Save screenshot + import base64 + with open("page.png", "wb") as f: + f.write(base64.b64decode(result.screenshot)) + + if result.pdf: + print(f"PDF generated: {len(result.pdf)} bytes") + with open("page.pdf", "wb") as f: + f.write(result.pdf) + + if result.mhtml: + print(f"MHTML captured: {len(result.mhtml)} chars") + with open("page.mhtml", "w", encoding="utf-8") as f: + f.write(result.mhtml) + + # SSL certificate information + if result.ssl_certificate: + print(f"SSL Issuer: {result.ssl_certificate.issuer}") + print(f"Valid until: {result.ssl_certificate.valid_until}") + + # Network and console data (if captured) + if result.network_requests: + requests = [r for r in result.network_requests if r.get("event_type") == "request"] + print(f"Network requests captured: {len(requests)}") + + if result.console_messages: + errors = [m for m in result.console_messages if m.get("type") == "error"] + print(f"Console messages: {len(result.console_messages)} ({len(errors)} errors)") + + # Session and metadata + if result.session_id: + print(f"Session ID: {result.session_id}") + + if result.metadata: + print(f"Metadata: {result.metadata.get('title', 'No title')}") +``` + +### Configuration Helpers and Best Practices + +```python +# Clone configurations for variations +base_config = CrawlerRunConfig( + cache_mode=CacheMode.ENABLED, + word_count_threshold=200, + verbose=True +) + +# Create streaming version +stream_config = base_config.clone( + stream=True, + cache_mode=CacheMode.BYPASS +) + +# Create debug version +debug_config = base_config.clone( + headless=False, + page_timeout=120000, + verbose=True +) + +# Serialize/deserialize configurations +config_dict = base_config.dump() # Convert to dict +restored_config = CrawlerRunConfig.load(config_dict) # Restore from dict + +# Browser configuration management +browser_config = BrowserConfig(headless=True, text_mode=True) +browser_dict = browser_config.to_dict() +cloned_browser = browser_config.clone(headless=False, verbose=True) +``` + +### Common Configuration Patterns + +```python +# Fast text-only crawling +fast_config = CrawlerRunConfig( + cache_mode=CacheMode.ENABLED, + text_mode=True, + exclude_external_links=True, + exclude_external_images=True, + word_count_threshold=50 +) + +# Comprehensive data extraction +comprehensive_config = CrawlerRunConfig( + process_iframes=True, + scan_full_page=True, + wait_for_images=True, + screenshot=True, + capture_network_requests=True, + capture_console_messages=True, + magic=True +) + +# Stealth crawling +stealth_config = CrawlerRunConfig( + simulate_user=True, + override_navigator=True, + mean_delay=2.0, + max_range=1.0, + user_agent_mode="random" +) +``` + +### Advanced Configuration Features + +#### User Agent Management & Bot Detection Avoidance + +```python +from crawl4ai import CrawlerRunConfig + +# Random user agent generation +config = CrawlerRunConfig( + user_agent_mode="random", + user_agent_generator_config={ + "platform": "windows", # "windows", "macos", "linux", "android", "ios" + "browser": "chrome", # "chrome", "firefox", "safari", "edge" + "device_type": "desktop" # "desktop", "mobile", "tablet" + } +) + +# Custom user agent with stealth features +config = CrawlerRunConfig( + user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", + simulate_user=True, # Simulate human mouse movements + override_navigator=True, # Override navigator properties + mean_delay=1.5, # Random delays between actions + max_range=2.0 +) + +# Combined anti-detection approach +stealth_config = CrawlerRunConfig( + user_agent_mode="random", + simulate_user=True, + override_navigator=True, + magic=True, # Auto-handle common bot detection patterns + delay_before_return_html=2.0 +) +``` + +#### Proxy Configuration with ProxyConfig + +```python +from crawl4ai import CrawlerRunConfig, ProxyConfig, ProxyRotationStrategy + +# Single proxy configuration +proxy_config = ProxyConfig( + server="http://proxy.example.com:8080", + username="proxy_user", + password="proxy_pass" +) + +# From proxy string format +proxy_config = ProxyConfig.from_string("192.168.1.100:8080:username:password") + +# Multiple proxies with rotation +proxies = [ + ProxyConfig(server="http://proxy1.com:8080", username="user1", password="pass1"), + ProxyConfig(server="http://proxy2.com:8080", username="user2", password="pass2"), + ProxyConfig(server="http://proxy3.com:8080", username="user3", password="pass3") +] + +rotation_strategy = ProxyRotationStrategy( + proxies=proxies, + rotation_method="round_robin" # or "random", "least_used" +) + +config = CrawlerRunConfig( + proxy_config=proxy_config, + proxy_rotation_strategy=rotation_strategy +) + +# Load proxies from environment variable +proxies_from_env = ProxyConfig.from_env("MY_PROXIES") # comma-separated proxy strings +``` + +#### Content Selection: css_selector vs target_elements + +```python +from crawl4ai import CrawlerRunConfig + +# css_selector: Extracts HTML at top level, affects entire processing +config = CrawlerRunConfig( + css_selector="main.article, .content-area", # Can be list of selectors + # Everything else (markdown, extraction, links) works only on this HTML subset +) + +# target_elements: Focuses extraction within already processed HTML +config = CrawlerRunConfig( + css_selector="body", # First extract entire body + target_elements=[ # Then focus extraction on these elements + ".article-content", + ".post-body", + ".main-text" + ], + # Links, media from entire body, but markdown/extraction only from target_elements +) + +# Hierarchical content selection +config = CrawlerRunConfig( + css_selector=["#main-content", ".article-wrapper"], # Top-level extraction + target_elements=[ # Subset for processing + ".article-title", + ".article-body", + ".article-metadata" + ], + excluded_selector="#sidebar, .ads, .comments" # Remove these from selection +) +``` + +#### Advanced wait_for Conditions + +```python +from crawl4ai import CrawlerRunConfig + +# CSS selector waiting +config = CrawlerRunConfig( + wait_for="css:.content-loaded", # Wait for element to appear + wait_for_timeout=15000 +) + +# JavaScript boolean expression waiting +config = CrawlerRunConfig( + wait_for="js:() => window.dataLoaded === true", # Custom JS condition + wait_for_timeout=20000 +) + +# Complex JavaScript conditions +config = CrawlerRunConfig( + wait_for="js:() => document.querySelectorAll('.item').length >= 10", + js_code=[ + "document.querySelector('.load-more')?.click();", + "window.scrollTo(0, document.body.scrollHeight);" + ] +) + +# Multiple conditions with JavaScript +config = CrawlerRunConfig( + wait_for="js:() => !document.querySelector('.loading') && document.querySelector('.results')", + page_timeout=30000 +) +``` + +#### Session Management for Multi-Step Crawling + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode + +# Persistent session across multiple arun() calls +async def multi_step_crawling(): + async with AsyncWebCrawler() as crawler: + # Step 1: Login page + login_config = CrawlerRunConfig( + session_id="user_session", # Create persistent session + js_code="document.querySelector('#username').value = 'user'; document.querySelector('#password').value = 'pass'; document.querySelector('#login').click();", + wait_for="css:.dashboard", + cache_mode=CacheMode.BYPASS + ) + + result1 = await crawler.arun("https://example.com/login", config=login_config) + + # Step 2: Navigate to protected area (reuses same browser page) + nav_config = CrawlerRunConfig( + session_id="user_session", # Same session = same browser page + js_only=True, # No page reload, just JS navigation + js_code="window.location.href = '/dashboard/data';", + wait_for="css:.data-table" + ) + + result2 = await crawler.arun("https://example.com/dashboard/data", config=nav_config) + + # Step 3: Extract data from multiple pages + for page in range(1, 6): + page_config = CrawlerRunConfig( + session_id="user_session", + js_only=True, + js_code=f"document.querySelector('.page-{page}').click();", + wait_for=f"js:() => document.querySelector('.page-{page}').classList.contains('active')" + ) + + result = await crawler.arun(f"https://example.com/data/page/{page}", config=page_config) + print(f"Page {page} data extracted: {len(result.extracted_content)}") + + # Important: Kill session when done + await crawler.kill_session("user_session") + +# Session with shared data between steps +async def session_with_shared_data(): + shared_context = {"user_id": "12345", "preferences": {"theme": "dark"}} + + config = CrawlerRunConfig( + session_id="persistent_session", + shared_data=shared_context, # Available across all session calls + js_code="console.log('User ID:', window.sharedData.user_id);" + ) +``` + +#### Identity-Based Crawling Parameters + +```python +from crawl4ai import CrawlerRunConfig, GeolocationConfig + +# Locale and timezone simulation +config = CrawlerRunConfig( + locale="en-US", # Browser language preference + timezone_id="America/New_York", # Timezone setting + user_agent_mode="random", + user_agent_generator_config={ + "platform": "windows", + "locale": "en-US" + } +) + +# Geolocation simulation +geo_config = GeolocationConfig( + latitude=40.7128, # New York coordinates + longitude=-74.0060, + accuracy=100.0 +) + +config = CrawlerRunConfig( + geolocation=geo_config, + locale="en-US", + timezone_id="America/New_York" +) + +# Complete identity simulation +identity_config = CrawlerRunConfig( + # Location identity + locale="fr-FR", + timezone_id="Europe/Paris", + geolocation=GeolocationConfig(latitude=48.8566, longitude=2.3522), + + # Browser identity + user_agent_mode="random", + user_agent_generator_config={ + "platform": "windows", + "locale": "fr-FR", + "browser": "chrome" + }, + + # Behavioral identity + simulate_user=True, + override_navigator=True, + mean_delay=2.0, + max_range=1.5 +) +``` + +#### Simplified Import Pattern + +```python +# Almost everything from crawl4ai main package +from crawl4ai import ( + AsyncWebCrawler, + BrowserConfig, + CrawlerRunConfig, + LLMConfig, + CacheMode, + ProxyConfig, + GeolocationConfig +) + +# Specialized strategies (still from crawl4ai) +from crawl4ai import ( + JsonCssExtractionStrategy, + LLMExtractionStrategy, + DefaultMarkdownGenerator, + PruningContentFilter, + RegexChunking +) + +# Complete example with simplified imports +async def example_crawl(): + browser_config = BrowserConfig(headless=True) + + run_config = CrawlerRunConfig( + user_agent_mode="random", + proxy_config=ProxyConfig.from_string("192.168.1.1:8080:user:pass"), + css_selector="main.content", + target_elements=[".article", ".post"], + wait_for="js:() => document.querySelector('.loaded')", + session_id="my_session", + simulate_user=True + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun("https://example.com", config=run_config) + return result +``` + +## Advanced Features + +Comprehensive guide to advanced crawling capabilities including file handling, authentication, dynamic content, monitoring, and session management. + +### File Download Handling + +```python +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig +import os + +# Enable downloads with custom path +downloads_path = os.path.join(os.getcwd(), "my_downloads") +os.makedirs(downloads_path, exist_ok=True) + +browser_config = BrowserConfig( + accept_downloads=True, + downloads_path=downloads_path +) + +# Trigger downloads with JavaScript +async def download_files(): + async with AsyncWebCrawler(config=browser_config) as crawler: + config = CrawlerRunConfig( + js_code=""" + // Click download links + const downloadLinks = document.querySelectorAll('a[href$=".pdf"]'); + for (const link of downloadLinks) { + link.click(); + await new Promise(r => setTimeout(r, 2000)); // Delay between downloads + } + """, + wait_for=5 # Wait for downloads to start + ) + + result = await crawler.arun("https://example.com/downloads", config=config) + + if result.downloaded_files: + print("Downloaded files:") + for file_path in result.downloaded_files: + print(f"- {file_path} ({os.path.getsize(file_path)} bytes)") +``` + +### Hooks & Authentication + +```python +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig +from playwright.async_api import Page, BrowserContext + +async def advanced_crawler_with_hooks(): + browser_config = BrowserConfig(headless=True, verbose=True) + crawler = AsyncWebCrawler(config=browser_config) + + # Hook functions for different stages + async def on_browser_created(browser, **kwargs): + print("[HOOK] Browser created successfully") + return browser + + async def on_page_context_created(page: Page, context: BrowserContext, **kwargs): + print("[HOOK] Setting up page & context") + + # Block images for faster crawling + async def route_filter(route): + if route.request.resource_type == "image": + await route.abort() + else: + await route.continue_() + + await context.route("**", route_filter) + + # Simulate login if needed + # await page.goto("https://example.com/login") + # await page.fill("input[name='username']", "testuser") + # await page.fill("input[name='password']", "password123") + # await page.click("button[type='submit']") + + await page.set_viewport_size({"width": 1080, "height": 600}) + return page + + async def before_goto(page: Page, context: BrowserContext, url: str, **kwargs): + print(f"[HOOK] About to navigate to: {url}") + await page.set_extra_http_headers({"Custom-Header": "my-value"}) + return page + + async def after_goto(page: Page, context: BrowserContext, url: str, response, **kwargs): + print(f"[HOOK] Successfully loaded: {url}") + try: + await page.wait_for_selector('.content', timeout=1000) + print("[HOOK] Content found!") + except: + print("[HOOK] Content not found, continuing") + return page + + async def before_retrieve_html(page: Page, context: BrowserContext, **kwargs): + print("[HOOK] Final actions before HTML retrieval") + await page.evaluate("window.scrollTo(0, document.body.scrollHeight);") + return page + + # Attach hooks + crawler.crawler_strategy.set_hook("on_browser_created", on_browser_created) + crawler.crawler_strategy.set_hook("on_page_context_created", on_page_context_created) + crawler.crawler_strategy.set_hook("before_goto", before_goto) + crawler.crawler_strategy.set_hook("after_goto", after_goto) + crawler.crawler_strategy.set_hook("before_retrieve_html", before_retrieve_html) + + await crawler.start() + + config = CrawlerRunConfig() + result = await crawler.arun("https://example.com", config=config) + + if result.success: + print(f"Crawled successfully: {len(result.html)} chars") + + await crawler.close() +``` + +### Lazy Loading & Dynamic Content + +```python +# Handle lazy-loaded images and infinite scroll +async def handle_lazy_loading(): + config = CrawlerRunConfig( + # Wait for images to fully load + wait_for_images=True, + + # Automatically scroll entire page to trigger lazy loading + scan_full_page=True, + scroll_delay=0.5, # Delay between scroll steps + + # JavaScript for custom lazy loading + js_code=""" + // Scroll and wait for content to load + window.scrollTo(0, document.body.scrollHeight); + + // Click "Load More" if available + const loadMoreBtn = document.querySelector('.load-more'); + if (loadMoreBtn) { + loadMoreBtn.click(); + } + """, + + # Wait for specific content to appear + wait_for="css:.lazy-content:nth-child(20)", # Wait for 20 items + + # Exclude external images to focus on main content + exclude_external_images=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com/gallery", config=config) + + if result.success: + images = result.media.get("images", []) + print(f"Loaded {len(images)} images after lazy loading") + for img in images[:3]: + print(f"- {img.get('src')} (score: {img.get('score', 'N/A')})") +``` + +### Network & Console Monitoring + +```python +# Capture all network requests and console messages for debugging +async def monitor_network_and_console(): + config = CrawlerRunConfig( + capture_network_requests=True, + capture_console_messages=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com", config=config) + + if result.success: + # Analyze network requests + if result.network_requests: + requests = [r for r in result.network_requests if r.get("event_type") == "request"] + responses = [r for r in result.network_requests if r.get("event_type") == "response"] + failures = [r for r in result.network_requests if r.get("event_type") == "request_failed"] + + print(f"Network activity: {len(requests)} requests, {len(responses)} responses, {len(failures)} failures") + + # Find API calls + api_calls = [r for r in requests if "api" in r.get("url", "")] + print(f"API calls detected: {len(api_calls)}") + + # Show failed requests + for failure in failures[:3]: + print(f"Failed: {failure.get('url')} - {failure.get('failure_text')}") + + # Analyze console messages + if result.console_messages: + message_types = {} + for msg in result.console_messages: + msg_type = msg.get("type", "unknown") + message_types[msg_type] = message_types.get(msg_type, 0) + 1 + + print(f"Console messages: {message_types}") + + # Show errors + errors = [msg for msg in result.console_messages if msg.get("type") == "error"] + for error in errors[:2]: + print(f"JS Error: {error.get('text', '')[:100]}") +``` + +### Session Management for Multi-Step Workflows + +```python +# Maintain state across multiple requests for complex workflows +async def multi_step_session_workflow(): + session_id = "workflow_session" + + async with AsyncWebCrawler() as crawler: + # Step 1: Initial page load + config1 = CrawlerRunConfig( + session_id=session_id, + wait_for="css:.content-loaded" + ) + + result1 = await crawler.arun("https://example.com/step1", config=config1) + print("Step 1 completed") + + # Step 2: Navigate and interact (same browser tab) + config2 = CrawlerRunConfig( + session_id=session_id, + js_only=True, # Don't reload page, just run JS + js_code=""" + document.querySelector('#next-button').click(); + """, + wait_for="css:.step2-content" + ) + + result2 = await crawler.arun("https://example.com/step2", config=config2) + print("Step 2 completed") + + # Step 3: Form submission + config3 = CrawlerRunConfig( + session_id=session_id, + js_only=True, + js_code=""" + document.querySelector('#form-field').value = 'test data'; + document.querySelector('#submit-btn').click(); + """, + wait_for="css:.results" + ) + + result3 = await crawler.arun("https://example.com/submit", config=config3) + print("Step 3 completed") + + # Clean up session + await crawler.crawler_strategy.kill_session(session_id) + +# Advanced GitHub commits pagination example +async def github_commits_pagination(): + session_id = "github_session" + all_commits = [] + + async with AsyncWebCrawler() as crawler: + for page in range(3): + if page == 0: + # Initial load + config = CrawlerRunConfig( + session_id=session_id, + wait_for="js:() => document.querySelectorAll('li.Box-sc-g0xbh4-0').length > 0" + ) + else: + # Navigate to next page + config = CrawlerRunConfig( + session_id=session_id, + js_only=True, + js_code='document.querySelector(\'a[data-testid="pagination-next-button"]\').click();', + wait_for="js:() => document.querySelectorAll('li.Box-sc-g0xbh4-0').length > 0" + ) + + result = await crawler.arun( + "https://github.com/microsoft/TypeScript/commits/main", + config=config + ) + + if result.success: + commit_count = result.cleaned_html.count('li.Box-sc-g0xbh4-0') + print(f"Page {page + 1}: Found {commit_count} commits") + + await crawler.crawler_strategy.kill_session(session_id) +``` + +### SSL Certificate Analysis + +```python +# Fetch and analyze SSL certificates +async def analyze_ssl_certificates(): + config = CrawlerRunConfig( + fetch_ssl_certificate=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com", config=config) + + if result.success and result.ssl_certificate: + cert = result.ssl_certificate + + # Basic certificate info + print(f"Issuer: {cert.issuer.get('CN', 'Unknown')}") + print(f"Subject: {cert.subject.get('CN', 'Unknown')}") + print(f"Valid from: {cert.valid_from}") + print(f"Valid until: {cert.valid_until}") + print(f"Fingerprint: {cert.fingerprint}") + + # Export certificate in different formats + import os + os.makedirs("certificates", exist_ok=True) + + cert.to_json("certificates/cert.json") + cert.to_pem("certificates/cert.pem") + cert.to_der("certificates/cert.der") + + print("Certificate exported in multiple formats") +``` + +### Advanced Page Interaction + +```python +# Complex page interactions with dynamic content +async def advanced_page_interaction(): + async with AsyncWebCrawler() as crawler: + # Multi-step interaction with waiting + config = CrawlerRunConfig( + js_code=[ + # Step 1: Scroll to load content + "window.scrollTo(0, document.body.scrollHeight);", + + # Step 2: Wait and click load more + """ + (async () => { + await new Promise(resolve => setTimeout(resolve, 2000)); + const loadMore = document.querySelector('.load-more'); + if (loadMore) loadMore.click(); + })(); + """ + ], + + # Wait for new content to appear + wait_for="js:() => document.querySelectorAll('.item').length > 20", + + # Additional timing controls + page_timeout=60000, # 60 second timeout + delay_before_return_html=2.0, # Wait before final capture + + # Handle overlays automatically + remove_overlay_elements=True, + magic=True, # Auto-handle common popup patterns + + # Simulate human behavior + simulate_user=True, + override_navigator=True + ) + + result = await crawler.arun("https://example.com/dynamic", config=config) + + if result.success: + print(f"Interactive crawl completed: {len(result.cleaned_html)} chars") + +# Form interaction example +async def form_interaction_example(): + config = CrawlerRunConfig( + js_code=""" + // Fill search form + document.querySelector('#search-input').value = 'machine learning'; + document.querySelector('#category-select').value = 'technology'; + document.querySelector('#search-form').submit(); + """, + wait_for="css:.search-results", + session_id="search_session" + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com/search", config=config) + print("Search completed, results loaded") +``` + +### Local File & Raw HTML Processing + +```python +# Handle different input types: URLs, local files, raw HTML +async def handle_different_inputs(): + async with AsyncWebCrawler() as crawler: + # 1. Regular web URL + result1 = await crawler.arun("https://example.com") + + # 2. Local HTML file + local_file_path = "/path/to/file.html" + result2 = await crawler.arun(f"file://{local_file_path}") + + # 3. Raw HTML content + raw_html = "

Test Content

Sample text

" + result3 = await crawler.arun(f"raw:{raw_html}") + + # All return the same CrawlResult structure + for i, result in enumerate([result1, result2, result3], 1): + if result.success: + print(f"Input {i}: {len(result.markdown)} chars of markdown") + +# Save and re-process HTML example +async def save_and_reprocess(): + async with AsyncWebCrawler() as crawler: + # Original crawl + result = await crawler.arun("https://example.com") + + if result.success: + # Save HTML to file + with open("saved_page.html", "w", encoding="utf-8") as f: + f.write(result.html) + + # Re-process from file + file_result = await crawler.arun("file://./saved_page.html") + + # Process as raw HTML + raw_result = await crawler.arun(f"raw:{result.html}") + + # Verify consistency + assert len(result.markdown) == len(file_result.markdown) == len(raw_result.markdown) + print("✅ All processing methods produced identical results") +``` + +### Advanced Link & Media Handling + +```python +# Comprehensive link and media extraction with filtering +async def advanced_link_media_handling(): + config = CrawlerRunConfig( + # Link filtering + exclude_external_links=False, # Keep external links for analysis + exclude_social_media_links=True, + exclude_domains=["ads.com", "tracker.io", "spammy.net"], + + # Media handling + exclude_external_images=True, + image_score_threshold=5, # Only high-quality images + table_score_threshold=7, # Only well-structured tables + wait_for_images=True, + + # Capture additional formats + screenshot=True, + pdf=True, + capture_mhtml=True # Full page archive + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com", config=config) + + if result.success: + # Analyze links + internal_links = result.links.get("internal", []) + external_links = result.links.get("external", []) + print(f"Links: {len(internal_links)} internal, {len(external_links)} external") + + # Analyze media + images = result.media.get("images", []) + tables = result.media.get("tables", []) + print(f"Media: {len(images)} images, {len(tables)} tables") + + # High-quality images only + quality_images = [img for img in images if img.get("score", 0) >= 5] + print(f"High-quality images: {len(quality_images)}") + + # Table analysis + for i, table in enumerate(tables[:2]): + print(f"Table {i+1}: {len(table.get('headers', []))} columns, {len(table.get('rows', []))} rows") + + # Save captured files + if result.screenshot: + import base64 + with open("page_screenshot.png", "wb") as f: + f.write(base64.b64decode(result.screenshot)) + + if result.pdf: + with open("page.pdf", "wb") as f: + f.write(result.pdf) + + if result.mhtml: + with open("page_archive.mhtml", "w", encoding="utf-8") as f: + f.write(result.mhtml) + + print("Additional formats saved: screenshot, PDF, MHTML archive") +``` + +### Performance & Resource Management + +```python +# Optimize performance for large-scale crawling +async def performance_optimized_crawling(): + # Lightweight browser config + browser_config = BrowserConfig( + headless=True, + text_mode=True, # Disable images for speed + light_mode=True, # Reduce background features + extra_args=["--disable-extensions", "--no-sandbox"] + ) + + # Efficient crawl config + config = CrawlerRunConfig( + # Content filtering for speed + excluded_tags=["script", "style", "nav", "footer"], + exclude_external_links=True, + exclude_all_images=True, # Remove all images for max speed + word_count_threshold=50, + + # Timing optimizations + page_timeout=30000, # Faster timeout + delay_before_return_html=0.1, + + # Resource monitoring + capture_network_requests=False, # Disable unless needed + capture_console_messages=False, + + # Cache for repeated URLs + cache_mode=CacheMode.ENABLED + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + urls = ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"] + + # Efficient batch processing + batch_config = config.clone( + stream=True, # Stream results as they complete + semaphore_count=3 # Control concurrency + ) + + async for result in await crawler.arun_many(urls, config=batch_config): + if result.success: + print(f"✅ {result.url}: {len(result.markdown)} chars") + else: + print(f"❌ {result.url}: {result.error_message}") +``` + + +**📖 Learn more:** [Complete Parameter Reference](https://docs.crawl4ai.com/api/parameters/), [Content Filtering](https://docs.crawl4ai.com/core/markdown-generation/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Network Capture](https://docs.crawl4ai.com/advanced/network-console-capture/) + +**📖 Learn more:** [Hooks & Authentication](https://docs.crawl4ai.com/advanced/hooks-auth/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Network Monitoring](https://docs.crawl4ai.com/advanced/network-console-capture/), [Page Interaction](https://docs.crawl4ai.com/core/page-interaction/), [File Downloads](https://docs.crawl4ai.com/advanced/file-downloading/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/deep_crawl_advanced_filters_scorers.txt b/docs/md_v2/assets/llm.txt/txt/deep_crawl_advanced_filters_scorers.txt new file mode 100644 index 00000000..52bac1ae --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/deep_crawl_advanced_filters_scorers.txt @@ -0,0 +1,446 @@ +## Deep Crawling Filters & Scorers + +Advanced URL filtering and scoring strategies for intelligent deep crawling with performance optimization. + +### URL Filters - Content and Domain Control + +```python +from crawl4ai.deep_crawling.filters import ( + URLPatternFilter, DomainFilter, ContentTypeFilter, + FilterChain, ContentRelevanceFilter, SEOFilter +) + +# Pattern-based filtering +pattern_filter = URLPatternFilter( + patterns=[ + "*.html", # HTML pages only + "*/blog/*", # Blog posts + "*/articles/*", # Article pages + "*2024*", # Recent content + "^https://example.com/docs/.*" # Regex pattern + ], + use_glob=True, + reverse=False # False = include matching, True = exclude matching +) + +# Domain filtering with subdomains +domain_filter = DomainFilter( + allowed_domains=["example.com", "docs.example.com"], + blocked_domains=["ads.example.com", "tracker.com"] +) + +# Content type filtering +content_filter = ContentTypeFilter( + allowed_types=["text/html", "application/pdf"], + check_extension=True +) + +# Apply individual filters +url = "https://example.com/blog/2024/article.html" +print(f"Pattern filter: {pattern_filter.apply(url)}") +print(f"Domain filter: {domain_filter.apply(url)}") +print(f"Content filter: {content_filter.apply(url)}") +``` + +### Filter Chaining - Combine Multiple Filters + +```python +# Create filter chain for comprehensive filtering +filter_chain = FilterChain([ + DomainFilter(allowed_domains=["example.com"]), + URLPatternFilter(patterns=["*/blog/*", "*/docs/*"]), + ContentTypeFilter(allowed_types=["text/html"]) +]) + +# Apply chain to URLs +urls = [ + "https://example.com/blog/post1.html", + "https://spam.com/content.html", + "https://example.com/blog/image.jpg", + "https://example.com/docs/guide.html" +] + +async def filter_urls(urls, filter_chain): + filtered = [] + for url in urls: + if await filter_chain.apply(url): + filtered.append(url) + return filtered + +# Usage +filtered_urls = await filter_urls(urls, filter_chain) +print(f"Filtered URLs: {filtered_urls}") + +# Check filter statistics +for filter_obj in filter_chain.filters: + stats = filter_obj.stats + print(f"{filter_obj.name}: {stats.passed_urls}/{stats.total_urls} passed") +``` + +### Advanced Content Filters + +```python +# BM25-based content relevance filtering +relevance_filter = ContentRelevanceFilter( + query="python machine learning tutorial", + threshold=0.5, # Minimum relevance score + k1=1.2, # TF saturation parameter + b=0.75, # Length normalization + avgdl=1000 # Average document length +) + +# SEO quality filtering +seo_filter = SEOFilter( + threshold=0.65, # Minimum SEO score + keywords=["python", "tutorial", "guide"], + weights={ + "title_length": 0.15, + "title_kw": 0.18, + "meta_description": 0.12, + "canonical": 0.10, + "robot_ok": 0.20, + "schema_org": 0.10, + "url_quality": 0.15 + } +) + +# Apply advanced filters +url = "https://example.com/python-ml-tutorial" +relevance_score = await relevance_filter.apply(url) +seo_score = await seo_filter.apply(url) + +print(f"Relevance: {relevance_score}, SEO: {seo_score}") +``` + +### URL Scorers - Quality and Relevance Scoring + +```python +from crawl4ai.deep_crawling.scorers import ( + KeywordRelevanceScorer, PathDepthScorer, ContentTypeScorer, + FreshnessScorer, DomainAuthorityScorer, CompositeScorer +) + +# Keyword relevance scoring +keyword_scorer = KeywordRelevanceScorer( + keywords=["python", "tutorial", "guide", "machine", "learning"], + weight=1.0, + case_sensitive=False +) + +# Path depth scoring (optimal depth = 3) +depth_scorer = PathDepthScorer( + optimal_depth=3, # /category/subcategory/article + weight=0.8 +) + +# Content type scoring +content_type_scorer = ContentTypeScorer( + type_weights={ + "html": 1.0, # Highest priority + "pdf": 0.8, # Medium priority + "txt": 0.6, # Lower priority + "doc": 0.4 # Lowest priority + }, + weight=0.9 +) + +# Freshness scoring +freshness_scorer = FreshnessScorer( + weight=0.7, + current_year=2024 +) + +# Domain authority scoring +domain_scorer = DomainAuthorityScorer( + domain_weights={ + "python.org": 1.0, + "github.com": 0.9, + "stackoverflow.com": 0.85, + "medium.com": 0.7, + "personal-blog.com": 0.3 + }, + default_weight=0.5, + weight=1.0 +) + +# Score individual URLs +url = "https://python.org/tutorial/2024/machine-learning.html" +scores = { + "keyword": keyword_scorer.score(url), + "depth": depth_scorer.score(url), + "content": content_type_scorer.score(url), + "freshness": freshness_scorer.score(url), + "domain": domain_scorer.score(url) +} + +print(f"Individual scores: {scores}") +``` + +### Composite Scoring - Combine Multiple Scorers + +```python +# Create composite scorer combining all strategies +composite_scorer = CompositeScorer( + scorers=[ + KeywordRelevanceScorer(["python", "tutorial"], weight=1.5), + PathDepthScorer(optimal_depth=3, weight=1.0), + ContentTypeScorer({"html": 1.0, "pdf": 0.8}, weight=1.2), + FreshnessScorer(weight=0.8, current_year=2024), + DomainAuthorityScorer({ + "python.org": 1.0, + "github.com": 0.9 + }, weight=1.3) + ], + normalize=True # Normalize by number of scorers +) + +# Score multiple URLs +urls_to_score = [ + "https://python.org/tutorial/2024/basics.html", + "https://github.com/user/python-guide/blob/main/README.md", + "https://random-blog.com/old/2018/python-stuff.html", + "https://python.org/docs/deep/nested/advanced/guide.html" +] + +scored_urls = [] +for url in urls_to_score: + score = composite_scorer.score(url) + scored_urls.append((url, score)) + +# Sort by score (highest first) +scored_urls.sort(key=lambda x: x[1], reverse=True) + +for url, score in scored_urls: + print(f"Score: {score:.3f} - {url}") + +# Check scorer statistics +print(f"\nScoring statistics:") +print(f"URLs scored: {composite_scorer.stats._urls_scored}") +print(f"Average score: {composite_scorer.stats.get_average():.3f}") +``` + +### Advanced Filter Patterns + +```python +# Complex pattern matching +advanced_patterns = URLPatternFilter( + patterns=[ + r"^https://docs\.python\.org/\d+/", # Python docs with version + r".*/tutorial/.*\.html$", # Tutorial pages + r".*/guide/(?!deprecated).*", # Guides but not deprecated + "*/blog/{2020,2021,2022,2023,2024}/*", # Recent blog posts + "**/{api,reference}/**/*.html" # API/reference docs + ], + use_glob=True +) + +# Exclude patterns (reverse=True) +exclude_filter = URLPatternFilter( + patterns=[ + "*/admin/*", + "*/login/*", + "*/private/*", + "**/.*", # Hidden files + "*.{jpg,png,gif,css,js}$" # Media and assets + ], + reverse=True # Exclude matching patterns +) + +# Content type with extension mapping +detailed_content_filter = ContentTypeFilter( + allowed_types=["text", "application"], + check_extension=True, + ext_map={ + "html": "text/html", + "htm": "text/html", + "md": "text/markdown", + "pdf": "application/pdf", + "doc": "application/msword", + "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document" + } +) +``` + +### Performance-Optimized Filtering + +```python +# High-performance filter chain for large-scale crawling +class OptimizedFilterChain: + def __init__(self): + # Fast filters first (domain, patterns) + self.fast_filters = [ + DomainFilter( + allowed_domains=["example.com", "docs.example.com"], + blocked_domains=["ads.example.com"] + ), + URLPatternFilter([ + "*.html", "*.pdf", "*/blog/*", "*/docs/*" + ]) + ] + + # Slower filters last (content analysis) + self.slow_filters = [ + ContentRelevanceFilter( + query="important content", + threshold=0.3 + ) + ] + + async def apply_optimized(self, url: str) -> bool: + # Apply fast filters first + for filter_obj in self.fast_filters: + if not filter_obj.apply(url): + return False + + # Only apply slow filters if fast filters pass + for filter_obj in self.slow_filters: + if not await filter_obj.apply(url): + return False + + return True + +# Batch filtering with concurrency +async def batch_filter_urls(urls, filter_chain, max_concurrent=50): + import asyncio + semaphore = asyncio.Semaphore(max_concurrent) + + async def filter_single(url): + async with semaphore: + return await filter_chain.apply(url), url + + tasks = [filter_single(url) for url in urls] + results = await asyncio.gather(*tasks) + + return [url for passed, url in results if passed] + +# Usage with 1000 URLs +large_url_list = [f"https://example.com/page{i}.html" for i in range(1000)] +optimized_chain = OptimizedFilterChain() +filtered = await batch_filter_urls(large_url_list, optimized_chain) +``` + +### Custom Filter Implementation + +```python +from crawl4ai.deep_crawling.filters import URLFilter +import re + +class CustomLanguageFilter(URLFilter): + """Filter URLs by language indicators""" + + def __init__(self, allowed_languages=["en"], weight=1.0): + super().__init__() + self.allowed_languages = set(allowed_languages) + self.lang_patterns = { + "en": re.compile(r"/en/|/english/|lang=en"), + "es": re.compile(r"/es/|/spanish/|lang=es"), + "fr": re.compile(r"/fr/|/french/|lang=fr"), + "de": re.compile(r"/de/|/german/|lang=de") + } + + def apply(self, url: str) -> bool: + # Default to English if no language indicators + if not any(pattern.search(url) for pattern in self.lang_patterns.values()): + result = "en" in self.allowed_languages + self._update_stats(result) + return result + + # Check for allowed languages + for lang in self.allowed_languages: + if lang in self.lang_patterns: + if self.lang_patterns[lang].search(url): + self._update_stats(True) + return True + + self._update_stats(False) + return False + +# Custom scorer implementation +from crawl4ai.deep_crawling.scorers import URLScorer + +class CustomComplexityScorer(URLScorer): + """Score URLs by content complexity indicators""" + + def __init__(self, weight=1.0): + super().__init__(weight) + self.complexity_indicators = { + "tutorial": 0.9, + "guide": 0.8, + "example": 0.7, + "reference": 0.6, + "api": 0.5 + } + + def _calculate_score(self, url: str) -> float: + url_lower = url.lower() + max_score = 0.0 + + for indicator, score in self.complexity_indicators.items(): + if indicator in url_lower: + max_score = max(max_score, score) + + return max_score + +# Use custom filters and scorers +custom_filter = CustomLanguageFilter(allowed_languages=["en", "es"]) +custom_scorer = CustomComplexityScorer(weight=1.2) + +url = "https://example.com/en/tutorial/advanced-guide.html" +passes_filter = custom_filter.apply(url) +complexity_score = custom_scorer.score(url) + +print(f"Passes language filter: {passes_filter}") +print(f"Complexity score: {complexity_score}") +``` + +### Integration with Deep Crawling + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig +from crawl4ai.deep_crawling import DeepCrawlStrategy + +async def deep_crawl_with_filtering(): + # Create comprehensive filter chain + filter_chain = FilterChain([ + DomainFilter(allowed_domains=["python.org"]), + URLPatternFilter(["*/tutorial/*", "*/guide/*", "*/docs/*"]), + ContentTypeFilter(["text/html"]), + SEOFilter(threshold=0.6, keywords=["python", "programming"]) + ]) + + # Create composite scorer + scorer = CompositeScorer([ + KeywordRelevanceScorer(["python", "tutorial"], weight=1.5), + FreshnessScorer(weight=0.8), + PathDepthScorer(optimal_depth=3, weight=1.0) + ], normalize=True) + + # Configure deep crawl strategy with filters and scorers + deep_strategy = DeepCrawlStrategy( + max_depth=3, + max_pages=100, + url_filter=filter_chain, + url_scorer=scorer, + score_threshold=0.6 # Only crawl URLs scoring above 0.6 + ) + + config = CrawlerRunConfig( + deep_crawl_strategy=deep_strategy, + cache_mode=CacheMode.BYPASS + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun( + url="https://python.org", + config=config + ) + + print(f"Deep crawl completed: {result.success}") + if hasattr(result, 'deep_crawl_results'): + print(f"Pages crawled: {len(result.deep_crawl_results)}") + +# Run the deep crawl +await deep_crawl_with_filtering() +``` + +**📖 Learn more:** [Deep Crawling Strategy](https://docs.crawl4ai.com/core/deep-crawling/), [Custom Filter Development](https://docs.crawl4ai.com/advanced/custom-filters/), [Performance Optimization](https://docs.crawl4ai.com/advanced/performance-tuning/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/deep_crawling.txt b/docs/md_v2/assets/llm.txt/txt/deep_crawling.txt new file mode 100644 index 00000000..45c72e88 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/deep_crawling.txt @@ -0,0 +1,348 @@ +## Deep Crawling + +Multi-level website exploration with intelligent filtering, scoring, and prioritization strategies. + +### Basic Deep Crawl Setup + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig +from crawl4ai.deep_crawling import BFSDeepCrawlStrategy +from crawl4ai.content_scraping_strategy import LXMLWebScrapingStrategy + +# Basic breadth-first deep crawling +async def basic_deep_crawl(): + config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=2, # Initial page + 2 levels + include_external=False # Stay within same domain + ), + scraping_strategy=LXMLWebScrapingStrategy(), + verbose=True + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun("https://docs.crawl4ai.com", config=config) + + # Group results by depth + pages_by_depth = {} + for result in results: + depth = result.metadata.get("depth", 0) + if depth not in pages_by_depth: + pages_by_depth[depth] = [] + pages_by_depth[depth].append(result.url) + + print(f"Crawled {len(results)} pages total") + for depth, urls in sorted(pages_by_depth.items()): + print(f"Depth {depth}: {len(urls)} pages") +``` + +### Deep Crawl Strategies + +```python +from crawl4ai.deep_crawling import BFSDeepCrawlStrategy, DFSDeepCrawlStrategy, BestFirstCrawlingStrategy +from crawl4ai.deep_crawling.scorers import KeywordRelevanceScorer + +# Breadth-First Search - explores all links at one depth before going deeper +bfs_strategy = BFSDeepCrawlStrategy( + max_depth=2, + include_external=False, + max_pages=50, # Limit total pages + score_threshold=0.3 # Minimum score for URLs +) + +# Depth-First Search - explores as deep as possible before backtracking +dfs_strategy = DFSDeepCrawlStrategy( + max_depth=2, + include_external=False, + max_pages=30, + score_threshold=0.5 +) + +# Best-First - prioritizes highest scoring pages (recommended) +keyword_scorer = KeywordRelevanceScorer( + keywords=["crawl", "example", "async", "configuration"], + weight=0.7 +) + +best_first_strategy = BestFirstCrawlingStrategy( + max_depth=2, + include_external=False, + url_scorer=keyword_scorer, + max_pages=25 # No score_threshold needed - naturally prioritizes +) + +# Usage +config = CrawlerRunConfig( + deep_crawl_strategy=best_first_strategy, # Choose your strategy + scraping_strategy=LXMLWebScrapingStrategy() +) +``` + +### Streaming vs Batch Processing + +```python +# Batch mode - wait for all results +async def batch_deep_crawl(): + config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy(max_depth=1), + stream=False # Default - collect all results first + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun("https://example.com", config=config) + + # Process all results at once + for result in results: + print(f"Batch processed: {result.url}") + +# Streaming mode - process results as they arrive +async def streaming_deep_crawl(): + config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy(max_depth=1), + stream=True # Process results immediately + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun("https://example.com", config=config): + depth = result.metadata.get("depth", 0) + print(f"Stream processed depth {depth}: {result.url}") +``` + +### Filtering with Filter Chains + +```python +from crawl4ai.deep_crawling.filters import ( + FilterChain, + URLPatternFilter, + DomainFilter, + ContentTypeFilter, + SEOFilter, + ContentRelevanceFilter +) + +# Single URL pattern filter +url_filter = URLPatternFilter(patterns=["*core*", "*guide*"]) + +config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=1, + filter_chain=FilterChain([url_filter]) + ) +) + +# Multiple filters in chain +advanced_filter_chain = FilterChain([ + # Domain filtering + DomainFilter( + allowed_domains=["docs.example.com"], + blocked_domains=["old.docs.example.com", "staging.example.com"] + ), + + # URL pattern matching + URLPatternFilter(patterns=["*tutorial*", "*guide*", "*blog*"]), + + # Content type filtering + ContentTypeFilter(allowed_types=["text/html"]), + + # SEO quality filter + SEOFilter( + threshold=0.5, + keywords=["tutorial", "guide", "documentation"] + ), + + # Content relevance filter + ContentRelevanceFilter( + query="Web crawling and data extraction with Python", + threshold=0.7 + ) +]) + +config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=2, + filter_chain=advanced_filter_chain + ) +) +``` + +### Intelligent Crawling with Scorers + +```python +from crawl4ai.deep_crawling.scorers import KeywordRelevanceScorer + +# Keyword relevance scoring +async def scored_deep_crawl(): + keyword_scorer = KeywordRelevanceScorer( + keywords=["browser", "crawler", "web", "automation"], + weight=1.0 + ) + + config = CrawlerRunConfig( + deep_crawl_strategy=BestFirstCrawlingStrategy( + max_depth=2, + include_external=False, + url_scorer=keyword_scorer + ), + stream=True, # Recommended with BestFirst + verbose=True + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun("https://docs.crawl4ai.com", config=config): + score = result.metadata.get("score", 0) + depth = result.metadata.get("depth", 0) + print(f"Depth: {depth} | Score: {score:.2f} | {result.url}") +``` + +### Limiting Crawl Size + +```python +# Max pages limitation across strategies +async def limited_crawls(): + # BFS with page limit + bfs_config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=2, + max_pages=5, # Only crawl 5 pages total + url_scorer=KeywordRelevanceScorer(keywords=["browser", "crawler"], weight=1.0) + ) + ) + + # DFS with score threshold + dfs_config = CrawlerRunConfig( + deep_crawl_strategy=DFSDeepCrawlStrategy( + max_depth=2, + score_threshold=0.7, # Only URLs with scores above 0.7 + max_pages=10, + url_scorer=KeywordRelevanceScorer(keywords=["web", "automation"], weight=1.0) + ) + ) + + # Best-First with both constraints + bf_config = CrawlerRunConfig( + deep_crawl_strategy=BestFirstCrawlingStrategy( + max_depth=2, + max_pages=7, # Automatically gets highest scored pages + url_scorer=KeywordRelevanceScorer(keywords=["crawl", "example"], weight=1.0) + ), + stream=True + ) + + async with AsyncWebCrawler() as crawler: + # Use any of the configs + async for result in await crawler.arun("https://docs.crawl4ai.com", config=bf_config): + score = result.metadata.get("score", 0) + print(f"Score: {score:.2f} | {result.url}") +``` + +### Complete Advanced Deep Crawler + +```python +async def comprehensive_deep_crawl(): + # Sophisticated filter chain + filter_chain = FilterChain([ + DomainFilter( + allowed_domains=["docs.crawl4ai.com"], + blocked_domains=["old.docs.crawl4ai.com"] + ), + URLPatternFilter(patterns=["*core*", "*advanced*", "*blog*"]), + ContentTypeFilter(allowed_types=["text/html"]), + SEOFilter(threshold=0.4, keywords=["crawl", "tutorial", "guide"]) + ]) + + # Multi-keyword scorer + keyword_scorer = KeywordRelevanceScorer( + keywords=["crawl", "example", "async", "configuration", "browser"], + weight=0.8 + ) + + # Complete configuration + config = CrawlerRunConfig( + deep_crawl_strategy=BestFirstCrawlingStrategy( + max_depth=2, + include_external=False, + filter_chain=filter_chain, + url_scorer=keyword_scorer, + max_pages=20 + ), + scraping_strategy=LXMLWebScrapingStrategy(), + stream=True, + verbose=True, + cache_mode=CacheMode.BYPASS + ) + + # Execute and analyze + results = [] + start_time = time.time() + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun("https://docs.crawl4ai.com", config=config): + results.append(result) + score = result.metadata.get("score", 0) + depth = result.metadata.get("depth", 0) + print(f"→ Depth: {depth} | Score: {score:.2f} | {result.url}") + + # Performance analysis + duration = time.time() - start_time + avg_score = sum(r.metadata.get('score', 0) for r in results) / len(results) + + print(f"✅ Crawled {len(results)} pages in {duration:.2f}s") + print(f"✅ Average relevance score: {avg_score:.2f}") + + # Depth distribution + depth_counts = {} + for result in results: + depth = result.metadata.get("depth", 0) + depth_counts[depth] = depth_counts.get(depth, 0) + 1 + + for depth, count in sorted(depth_counts.items()): + print(f"📊 Depth {depth}: {count} pages") +``` + +### Error Handling and Robustness + +```python +async def robust_deep_crawl(): + config = CrawlerRunConfig( + deep_crawl_strategy=BestFirstCrawlingStrategy( + max_depth=2, + max_pages=15, + url_scorer=KeywordRelevanceScorer(keywords=["guide", "tutorial"]) + ), + stream=True, + page_timeout=30000 # 30 second timeout per page + ) + + successful_pages = [] + failed_pages = [] + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun("https://docs.crawl4ai.com", config=config): + if result.success: + successful_pages.append(result) + depth = result.metadata.get("depth", 0) + score = result.metadata.get("score", 0) + print(f"✅ Depth {depth} | Score: {score:.2f} | {result.url}") + else: + failed_pages.append({ + 'url': result.url, + 'error': result.error_message, + 'depth': result.metadata.get("depth", 0) + }) + print(f"❌ Failed: {result.url} - {result.error_message}") + + print(f"📊 Results: {len(successful_pages)} successful, {len(failed_pages)} failed") + + # Analyze failures by depth + if failed_pages: + failure_by_depth = {} + for failure in failed_pages: + depth = failure['depth'] + failure_by_depth[depth] = failure_by_depth.get(depth, 0) + 1 + + print("❌ Failures by depth:") + for depth, count in sorted(failure_by_depth.items()): + print(f" Depth {depth}: {count} failures") +``` + +**📖 Learn more:** [Deep Crawling Guide](https://docs.crawl4ai.com/core/deep-crawling/), [Filter Documentation](https://docs.crawl4ai.com/core/content-selection/), [Scoring Strategies](https://docs.crawl4ai.com/advanced/advanced-features/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/docker.txt b/docs/md_v2/assets/llm.txt/txt/docker.txt new file mode 100644 index 00000000..a4c55d8a --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/docker.txt @@ -0,0 +1,826 @@ +## Docker Deployment + +Complete Docker deployment guide with pre-built images, API endpoints, configuration, and MCP integration. + +### Quick Start with Pre-built Images + +```bash +# Pull latest image +docker pull unclecode/crawl4ai:latest + +# Setup LLM API keys +cat > .llm.env << EOL +OPENAI_API_KEY=sk-your-key +ANTHROPIC_API_KEY=your-anthropic-key +GROQ_API_KEY=your-groq-key +GEMINI_API_TOKEN=your-gemini-token +EOL + +# Run with LLM support +docker run -d \ + -p 11235:11235 \ + --name crawl4ai \ + --env-file .llm.env \ + --shm-size=1g \ + unclecode/crawl4ai:latest + +# Basic run (no LLM) +docker run -d \ + -p 11235:11235 \ + --name crawl4ai \ + --shm-size=1g \ + unclecode/crawl4ai:latest + +# Check health +curl http://localhost:11235/health +``` + +### Docker Compose Deployment + +```bash +# Clone and setup +git clone https://github.com/unclecode/crawl4ai.git +cd crawl4ai +cp deploy/docker/.llm.env.example .llm.env +# Edit .llm.env with your API keys + +# Run pre-built image +IMAGE=unclecode/crawl4ai:latest docker compose up -d + +# Build locally +docker compose up --build -d + +# Build with all features +INSTALL_TYPE=all docker compose up --build -d + +# Build with GPU support +ENABLE_GPU=true docker compose up --build -d + +# Stop service +docker compose down +``` + +### Manual Build with Multi-Architecture + +```bash +# Clone repository +git clone https://github.com/unclecode/crawl4ai.git +cd crawl4ai + +# Build for current architecture +docker buildx build -t crawl4ai-local:latest --load . + +# Build for multiple architectures +docker buildx build --platform linux/amd64,linux/arm64 \ + -t crawl4ai-local:latest --load . + +# Build with specific features +docker buildx build \ + --build-arg INSTALL_TYPE=all \ + --build-arg ENABLE_GPU=false \ + -t crawl4ai-local:latest --load . + +# Run custom build +docker run -d \ + -p 11235:11235 \ + --name crawl4ai-custom \ + --env-file .llm.env \ + --shm-size=1g \ + crawl4ai-local:latest +``` + +### Build Arguments + +```bash +# Available build options +docker buildx build \ + --build-arg INSTALL_TYPE=all \ # default|all|torch|transformer + --build-arg ENABLE_GPU=true \ # true|false + --build-arg APP_HOME=/app \ # Install path + --build-arg USE_LOCAL=true \ # Use local source + --build-arg GITHUB_REPO=url \ # Git repo if USE_LOCAL=false + --build-arg GITHUB_BRANCH=main \ # Git branch + -t crawl4ai-custom:latest --load . +``` + +### Core API Endpoints + +```python +# Main crawling endpoints +import requests +import json + +# Basic crawl +payload = { + "urls": ["https://example.com"], + "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, + "crawler_config": {"type": "CrawlerRunConfig", "params": {"cache_mode": "bypass"}} +} +response = requests.post("http://localhost:11235/crawl", json=payload) + +# Streaming crawl +payload["crawler_config"]["params"]["stream"] = True +response = requests.post("http://localhost:11235/crawl/stream", json=payload) + +# Health check +response = requests.get("http://localhost:11235/health") + +# API schema +response = requests.get("http://localhost:11235/schema") + +# Metrics (Prometheus format) +response = requests.get("http://localhost:11235/metrics") +``` + +### Specialized Endpoints + +```python +# HTML extraction (preprocessed for schema) +response = requests.post("http://localhost:11235/html", + json={"url": "https://example.com"}) + +# Screenshot capture +response = requests.post("http://localhost:11235/screenshot", json={ + "url": "https://example.com", + "screenshot_wait_for": 2, + "output_path": "/path/to/save/screenshot.png" +}) + +# PDF generation +response = requests.post("http://localhost:11235/pdf", json={ + "url": "https://example.com", + "output_path": "/path/to/save/document.pdf" +}) + +# JavaScript execution +response = requests.post("http://localhost:11235/execute_js", json={ + "url": "https://example.com", + "scripts": [ + "return document.title", + "return Array.from(document.querySelectorAll('a')).map(a => a.href)" + ] +}) + +# Markdown generation +response = requests.post("http://localhost:11235/md", json={ + "url": "https://example.com", + "f": "fit", # raw|fit|bm25|llm + "q": "extract main content", # query for filtering + "c": "0" # cache: 0=bypass, 1=use +}) + +# LLM Q&A +response = requests.get("http://localhost:11235/llm/https://example.com?q=What is this page about?") + +# Library context (for AI assistants) +response = requests.get("http://localhost:11235/ask", params={ + "context_type": "all", # code|doc|all + "query": "how to use extraction strategies", + "score_ratio": 0.5, + "max_results": 20 +}) +``` + +### Python SDK Usage + +```python +import asyncio +from crawl4ai.docker_client import Crawl4aiDockerClient +from crawl4ai import BrowserConfig, CrawlerRunConfig, CacheMode + +async def main(): + async with Crawl4aiDockerClient(base_url="http://localhost:11235") as client: + # Non-streaming crawl + results = await client.crawl( + ["https://example.com"], + browser_config=BrowserConfig(headless=True), + crawler_config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS) + ) + + for result in results: + print(f"URL: {result.url}, Success: {result.success}") + print(f"Content length: {len(result.markdown)}") + + # Streaming crawl + stream_config = CrawlerRunConfig(stream=True, cache_mode=CacheMode.BYPASS) + async for result in await client.crawl( + ["https://example.com", "https://python.org"], + browser_config=BrowserConfig(headless=True), + crawler_config=stream_config + ): + print(f"Streamed: {result.url} - {result.success}") + + # Get API schema + schema = await client.get_schema() + print(f"Schema available: {bool(schema)}") + +asyncio.run(main()) +``` + +### Advanced API Configuration + +```python +# Complex extraction with LLM +payload = { + "urls": ["https://example.com"], + "browser_config": { + "type": "BrowserConfig", + "params": { + "headless": True, + "viewport": {"type": "dict", "value": {"width": 1200, "height": 800}} + } + }, + "crawler_config": { + "type": "CrawlerRunConfig", + "params": { + "extraction_strategy": { + "type": "LLMExtractionStrategy", + "params": { + "llm_config": { + "type": "LLMConfig", + "params": { + "provider": "openai/gpt-4o-mini", + "api_token": "env:OPENAI_API_KEY" + } + }, + "schema": { + "type": "dict", + "value": { + "type": "object", + "properties": { + "title": {"type": "string"}, + "content": {"type": "string"} + } + } + }, + "instruction": "Extract title and main content" + } + }, + "markdown_generator": { + "type": "DefaultMarkdownGenerator", + "params": { + "content_filter": { + "type": "PruningContentFilter", + "params": {"threshold": 0.6} + } + } + } + } + } +} + +response = requests.post("http://localhost:11235/crawl", json=payload) +``` + +### CSS Extraction Strategy + +```python +# CSS-based structured extraction +schema = { + "name": "ProductList", + "baseSelector": ".product", + "fields": [ + {"name": "title", "selector": "h2", "type": "text"}, + {"name": "price", "selector": ".price", "type": "text"}, + {"name": "link", "selector": "a", "type": "attribute", "attribute": "href"} + ] +} + +payload = { + "urls": ["https://example-shop.com"], + "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, + "crawler_config": { + "type": "CrawlerRunConfig", + "params": { + "extraction_strategy": { + "type": "JsonCssExtractionStrategy", + "params": { + "schema": {"type": "dict", "value": schema} + } + } + } + } +} + +response = requests.post("http://localhost:11235/crawl", json=payload) +data = response.json() +extracted = json.loads(data["results"][0]["extracted_content"]) +``` + +### MCP (Model Context Protocol) Integration + +```bash +# Add Crawl4AI as MCP provider to Claude Code +claude mcp add --transport sse c4ai-sse http://localhost:11235/mcp/sse + +# List MCP providers +claude mcp list + +# Test MCP connection +python tests/mcp/test_mcp_socket.py + +# Available MCP endpoints +# SSE: http://localhost:11235/mcp/sse +# WebSocket: ws://localhost:11235/mcp/ws +# Schema: http://localhost:11235/mcp/schema +``` + +Available MCP tools: +- `md` - Generate markdown from web content +- `html` - Extract preprocessed HTML +- `screenshot` - Capture webpage screenshots +- `pdf` - Generate PDF documents +- `execute_js` - Run JavaScript on web pages +- `crawl` - Perform multi-URL crawling +- `ask` - Query Crawl4AI library context + +### Configuration Management + +```yaml +# config.yml structure +app: + title: "Crawl4AI API" + version: "1.0.0" + host: "0.0.0.0" + port: 11235 + timeout_keep_alive: 300 + +llm: + provider: "openai/gpt-4o-mini" + api_key_env: "OPENAI_API_KEY" + +security: + enabled: false + jwt_enabled: false + trusted_hosts: ["*"] + +crawler: + memory_threshold_percent: 95.0 + rate_limiter: + base_delay: [1.0, 2.0] + timeouts: + stream_init: 30.0 + batch_process: 300.0 + pool: + max_pages: 40 + idle_ttl_sec: 1800 + +rate_limiting: + enabled: true + default_limit: "1000/minute" + storage_uri: "memory://" + +logging: + level: "INFO" + format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s" +``` + +### Custom Configuration Deployment + +```bash +# Method 1: Mount custom config +docker run -d -p 11235:11235 \ + --name crawl4ai-custom \ + --env-file .llm.env \ + --shm-size=1g \ + -v $(pwd)/my-config.yml:/app/config.yml \ + unclecode/crawl4ai:latest + +# Method 2: Build with custom config +# Edit deploy/docker/config.yml then build +docker buildx build -t crawl4ai-custom:latest --load . +``` + +### Monitoring and Health Checks + +```bash +# Health endpoint +curl http://localhost:11235/health + +# Prometheus metrics +curl http://localhost:11235/metrics + +# Configuration validation +curl -X POST http://localhost:11235/config/dump \ + -H "Content-Type: application/json" \ + -d '{"code": "CrawlerRunConfig(cache_mode=\"BYPASS\", screenshot=True)"}' +``` + +### Playground Interface + +Access the interactive playground at `http://localhost:11235/playground` for: +- Testing configurations with visual interface +- Generating JSON payloads for REST API +- Converting Python config to JSON format +- Testing crawl operations directly in browser + +### Async Job Processing + +```python +# Submit job for async processing +import time + +# Submit crawl job +response = requests.post("http://localhost:11235/crawl/job", json=payload) +task_id = response.json()["task_id"] + +# Poll for completion +while True: + result = requests.get(f"http://localhost:11235/crawl/job/{task_id}") + status = result.json() + + if status["status"] in ["COMPLETED", "FAILED"]: + break + time.sleep(1.5) + +print("Final result:", status) +``` + +### Production Deployment + +```bash +# Production-ready deployment +docker run -d \ + --name crawl4ai-prod \ + --restart unless-stopped \ + -p 11235:11235 \ + --env-file .llm.env \ + --shm-size=2g \ + --memory=8g \ + --cpus=4 \ + -v /path/to/custom-config.yml:/app/config.yml \ + unclecode/crawl4ai:latest + +# With Docker Compose for production +version: '3.8' +services: + crawl4ai: + image: unclecode/crawl4ai:latest + ports: + - "11235:11235" + environment: + - OPENAI_API_KEY=${OPENAI_API_KEY} + volumes: + - ./config.yml:/app/config.yml + shm_size: 2g + deploy: + resources: + limits: + memory: 8G + cpus: '4' + restart: unless-stopped +``` + +### Configuration Validation and JSON Structure + +```python +# Method 1: Create config objects and dump to see expected JSON structure +from crawl4ai import BrowserConfig, CrawlerRunConfig, LLMConfig, CacheMode +from crawl4ai.extraction_strategy import JsonCssExtractionStrategy, LLMExtractionStrategy +import json + +# Create browser config and see JSON structure +browser_config = BrowserConfig( + headless=True, + viewport_width=1280, + viewport_height=720, + proxy="http://user:pass@proxy:8080" +) + +# Get JSON structure +browser_json = browser_config.dump() +print("BrowserConfig JSON structure:") +print(json.dumps(browser_json, indent=2)) + +# Create crawler config with extraction strategy +schema = { + "name": "Articles", + "baseSelector": ".article", + "fields": [ + {"name": "title", "selector": "h2", "type": "text"}, + {"name": "content", "selector": ".content", "type": "html"} + ] +} + +crawler_config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + screenshot=True, + extraction_strategy=JsonCssExtractionStrategy(schema), + js_code=["window.scrollTo(0, document.body.scrollHeight);"], + wait_for="css:.loaded" +) + +crawler_json = crawler_config.dump() +print("\nCrawlerRunConfig JSON structure:") +print(json.dumps(crawler_json, indent=2)) +``` + +### Reverse Validation - JSON to Objects + +```python +# Method 2: Load JSON back to config objects for validation +from crawl4ai.async_configs import from_serializable_dict + +# Test JSON structure by converting back to objects +test_browser_json = { + "type": "BrowserConfig", + "params": { + "headless": True, + "viewport_width": 1280, + "proxy": "http://user:pass@proxy:8080" + } +} + +try: + # Convert JSON back to object + restored_browser = from_serializable_dict(test_browser_json) + print(f"✅ Valid BrowserConfig: {type(restored_browser)}") + print(f"Headless: {restored_browser.headless}") + print(f"Proxy: {restored_browser.proxy}") +except Exception as e: + print(f"❌ Invalid BrowserConfig JSON: {e}") + +# Test complex crawler config JSON +test_crawler_json = { + "type": "CrawlerRunConfig", + "params": { + "cache_mode": "bypass", + "screenshot": True, + "extraction_strategy": { + "type": "JsonCssExtractionStrategy", + "params": { + "schema": { + "type": "dict", + "value": { + "name": "Products", + "baseSelector": ".product", + "fields": [ + {"name": "title", "selector": "h3", "type": "text"} + ] + } + } + } + } + } +} + +try: + restored_crawler = from_serializable_dict(test_crawler_json) + print(f"✅ Valid CrawlerRunConfig: {type(restored_crawler)}") + print(f"Cache mode: {restored_crawler.cache_mode}") + print(f"Has extraction strategy: {restored_crawler.extraction_strategy is not None}") +except Exception as e: + print(f"❌ Invalid CrawlerRunConfig JSON: {e}") +``` + +### Using Server's /config/dump Endpoint for Validation + +```python +import requests + +# Method 3: Use server endpoint to validate configuration syntax +def validate_config_with_server(config_code: str) -> dict: + """Validate configuration using server's /config/dump endpoint""" + response = requests.post( + "http://localhost:11235/config/dump", + json={"code": config_code} + ) + + if response.status_code == 200: + print("✅ Valid configuration syntax") + return response.json() + else: + print(f"❌ Invalid configuration: {response.status_code}") + print(response.json()) + return None + +# Test valid configuration +valid_config = """ +CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + screenshot=True, + js_code=["window.scrollTo(0, document.body.scrollHeight);"], + wait_for="css:.content-loaded" +) +""" + +result = validate_config_with_server(valid_config) +if result: + print("Generated JSON structure:") + print(json.dumps(result, indent=2)) + +# Test invalid configuration (should fail) +invalid_config = """ +CrawlerRunConfig( + cache_mode="invalid_mode", + screenshot=True, + js_code=some_function() # This will fail +) +""" + +validate_config_with_server(invalid_config) +``` + +### Configuration Builder Helper + +```python +def build_and_validate_request(urls, browser_params=None, crawler_params=None): + """Helper to build and validate complete request payload""" + + # Create configurations + browser_config = BrowserConfig(**(browser_params or {})) + crawler_config = CrawlerRunConfig(**(crawler_params or {})) + + # Build complete request payload + payload = { + "urls": urls if isinstance(urls, list) else [urls], + "browser_config": browser_config.dump(), + "crawler_config": crawler_config.dump() + } + + print("✅ Complete request payload:") + print(json.dumps(payload, indent=2)) + + # Validate by attempting to reconstruct + try: + test_browser = from_serializable_dict(payload["browser_config"]) + test_crawler = from_serializable_dict(payload["crawler_config"]) + print("✅ Payload validation successful") + return payload + except Exception as e: + print(f"❌ Payload validation failed: {e}") + return None + +# Example usage +payload = build_and_validate_request( + urls=["https://example.com"], + browser_params={"headless": True, "viewport_width": 1280}, + crawler_params={ + "cache_mode": CacheMode.BYPASS, + "screenshot": True, + "word_count_threshold": 10 + } +) + +if payload: + # Send to server + response = requests.post("http://localhost:11235/crawl", json=payload) + print(f"Server response: {response.status_code}") +``` + +### Common JSON Structure Patterns + +```python +# Pattern 1: Simple primitive values +simple_config = { + "type": "CrawlerRunConfig", + "params": { + "cache_mode": "bypass", # String enum value + "screenshot": True, # Boolean + "page_timeout": 60000 # Integer + } +} + +# Pattern 2: Nested objects +nested_config = { + "type": "CrawlerRunConfig", + "params": { + "extraction_strategy": { + "type": "LLMExtractionStrategy", + "params": { + "llm_config": { + "type": "LLMConfig", + "params": { + "provider": "openai/gpt-4o-mini", + "api_token": "env:OPENAI_API_KEY" + } + }, + "instruction": "Extract main content" + } + } + } +} + +# Pattern 3: Dictionary values (must use type: dict wrapper) +dict_config = { + "type": "CrawlerRunConfig", + "params": { + "extraction_strategy": { + "type": "JsonCssExtractionStrategy", + "params": { + "schema": { + "type": "dict", # Required wrapper + "value": { # Actual dictionary content + "name": "Products", + "baseSelector": ".product", + "fields": [ + {"name": "title", "selector": "h2", "type": "text"} + ] + } + } + } + } + } +} + +# Pattern 4: Lists and arrays +list_config = { + "type": "CrawlerRunConfig", + "params": { + "js_code": [ # Lists are handled directly + "window.scrollTo(0, document.body.scrollHeight);", + "document.querySelector('.load-more')?.click();" + ], + "excluded_tags": ["script", "style", "nav"] + } +} +``` + +### Troubleshooting Common JSON Errors + +```python +def diagnose_json_errors(): + """Common JSON structure errors and fixes""" + + # ❌ WRONG: Missing type wrapper for objects + wrong_config = { + "browser_config": { + "headless": True # Missing type wrapper + } + } + + # ✅ CORRECT: Proper type wrapper + correct_config = { + "browser_config": { + "type": "BrowserConfig", + "params": { + "headless": True + } + } + } + + # ❌ WRONG: Dictionary without type: dict wrapper + wrong_dict = { + "schema": { + "name": "Products" # Raw dict, should be wrapped + } + } + + # ✅ CORRECT: Dictionary with proper wrapper + correct_dict = { + "schema": { + "type": "dict", + "value": { + "name": "Products" + } + } + } + + # ❌ WRONG: Invalid enum string + wrong_enum = { + "cache_mode": "DISABLED" # Wrong case/value + } + + # ✅ CORRECT: Valid enum string + correct_enum = { + "cache_mode": "bypass" # or "enabled", "disabled", etc. + } + + print("Common error patterns documented above") + +# Validate your JSON structure before sending +def pre_flight_check(payload): + """Run checks before sending to server""" + required_keys = ["urls", "browser_config", "crawler_config"] + + for key in required_keys: + if key not in payload: + print(f"❌ Missing required key: {key}") + return False + + # Check type wrappers + for config_key in ["browser_config", "crawler_config"]: + config = payload[config_key] + if not isinstance(config, dict) or "type" not in config: + print(f"❌ {config_key} missing type wrapper") + return False + if "params" not in config: + print(f"❌ {config_key} missing params") + return False + + print("✅ Pre-flight check passed") + return True + +# Example usage +payload = { + "urls": ["https://example.com"], + "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, + "crawler_config": {"type": "CrawlerRunConfig", "params": {"cache_mode": "bypass"}} +} + +if pre_flight_check(payload): + # Safe to send to server + pass +``` + +**📖 Learn more:** [Complete Docker Guide](https://docs.crawl4ai.com/core/docker-deployment/), [API Reference](https://docs.crawl4ai.com/api/), [MCP Integration](https://docs.crawl4ai.com/core/docker-deployment/#mcp-model-context-protocol-support), [Configuration Options](https://docs.crawl4ai.com/core/docker-deployment/#server-configuration) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/extraction.txt b/docs/md_v2/assets/llm.txt/txt/extraction.txt new file mode 100644 index 00000000..fa56dbe8 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/extraction.txt @@ -0,0 +1,788 @@ +## Extraction Strategies + +Powerful data extraction from web pages using LLM-based intelligent parsing or fast schema/pattern-based approaches. + +### LLM-Based Extraction - Intelligent Content Understanding + +```python +import os +import asyncio +import json +from pydantic import BaseModel, Field +from typing import List +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, LLMConfig +from crawl4ai.extraction_strategy import LLMExtractionStrategy + +# Define structured data model +class Product(BaseModel): + name: str = Field(description="Product name") + price: str = Field(description="Product price") + description: str = Field(description="Product description") + features: List[str] = Field(description="List of product features") + rating: float = Field(description="Product rating out of 5") + +# Configure LLM provider +llm_config = LLMConfig( + provider="openai/gpt-4o-mini", # or "ollama/llama3.3", "anthropic/claude-3-5-sonnet" + api_token=os.getenv("OPENAI_API_KEY"), # or "env:OPENAI_API_KEY" + temperature=0.1, + max_tokens=2000 +) + +# Create LLM extraction strategy +llm_strategy = LLMExtractionStrategy( + llm_config=llm_config, + schema=Product.model_json_schema(), + extraction_type="schema", # or "block" for freeform text + instruction=""" + Extract product information from the webpage content. + Focus on finding complete product details including: + - Product name and price + - Detailed description + - All listed features + - Customer rating if available + Return valid JSON array of products. + """, + chunk_token_threshold=1200, # Split content if too large + overlap_rate=0.1, # 10% overlap between chunks + apply_chunking=True, # Enable automatic chunking + input_format="markdown", # "html", "fit_markdown", or "markdown" + extra_args={"temperature": 0.0, "max_tokens": 800}, + verbose=True +) + +async def extract_with_llm(): + browser_config = BrowserConfig(headless=True) + + crawl_config = CrawlerRunConfig( + extraction_strategy=llm_strategy, + cache_mode=CacheMode.BYPASS, + word_count_threshold=10 + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun( + url="https://example.com/products", + config=crawl_config + ) + + if result.success: + # Parse extracted JSON + products = json.loads(result.extracted_content) + print(f"Extracted {len(products)} products") + + for product in products[:3]: # Show first 3 + print(f"Product: {product['name']}") + print(f"Price: {product['price']}") + print(f"Rating: {product.get('rating', 'N/A')}") + + # Show token usage and cost + llm_strategy.show_usage() + else: + print(f"Extraction failed: {result.error_message}") + +asyncio.run(extract_with_llm()) +``` + +### LLM Strategy Advanced Configuration + +```python +# Multiple provider configurations +providers = { + "openai": LLMConfig( + provider="openai/gpt-4o", + api_token="env:OPENAI_API_KEY", + temperature=0.1 + ), + "anthropic": LLMConfig( + provider="anthropic/claude-3-5-sonnet-20240620", + api_token="env:ANTHROPIC_API_KEY", + max_tokens=4000 + ), + "ollama": LLMConfig( + provider="ollama/llama3.3", + api_token=None, # Not needed for Ollama + base_url="http://localhost:11434" + ), + "groq": LLMConfig( + provider="groq/llama3-70b-8192", + api_token="env:GROQ_API_KEY" + ) +} + +# Advanced chunking for large content +large_content_strategy = LLMExtractionStrategy( + llm_config=providers["openai"], + schema=YourModel.model_json_schema(), + extraction_type="schema", + instruction="Extract detailed information...", + + # Chunking parameters + chunk_token_threshold=2000, # Larger chunks for complex content + overlap_rate=0.15, # More overlap for context preservation + apply_chunking=True, + + # Input format selection + input_format="fit_markdown", # Use filtered content if available + + # LLM parameters + extra_args={ + "temperature": 0.0, # Deterministic output + "top_p": 0.9, + "frequency_penalty": 0.1, + "presence_penalty": 0.1, + "max_tokens": 1500 + }, + verbose=True +) + +# Knowledge graph extraction +class Entity(BaseModel): + name: str + type: str # "person", "organization", "location", etc. + description: str + +class Relationship(BaseModel): + source: str + target: str + relationship: str + confidence: float + +class KnowledgeGraph(BaseModel): + entities: List[Entity] + relationships: List[Relationship] + summary: str + +knowledge_strategy = LLMExtractionStrategy( + llm_config=providers["anthropic"], + schema=KnowledgeGraph.model_json_schema(), + extraction_type="schema", + instruction=""" + Create a knowledge graph from the content by: + 1. Identifying key entities (people, organizations, locations, concepts) + 2. Finding relationships between entities + 3. Providing confidence scores for relationships + 4. Summarizing the main topics + """, + input_format="html", # Use HTML for better structure preservation + apply_chunking=True, + chunk_token_threshold=1500 +) +``` + +### JSON CSS Extraction - Fast Schema-Based Extraction + +```python +import asyncio +import json +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode +from crawl4ai.extraction_strategy import JsonCssExtractionStrategy + +# Basic CSS extraction schema +simple_schema = { + "name": "Product Listings", + "baseSelector": "div.product-card", + "fields": [ + { + "name": "title", + "selector": "h2.product-title", + "type": "text" + }, + { + "name": "price", + "selector": ".price", + "type": "text" + }, + { + "name": "image_url", + "selector": "img.product-image", + "type": "attribute", + "attribute": "src" + }, + { + "name": "product_url", + "selector": "a.product-link", + "type": "attribute", + "attribute": "href" + } + ] +} + +# Complex nested schema with multiple data types +complex_schema = { + "name": "E-commerce Product Catalog", + "baseSelector": "div.category", + "baseFields": [ + { + "name": "category_id", + "type": "attribute", + "attribute": "data-category-id" + }, + { + "name": "category_url", + "type": "attribute", + "attribute": "data-url" + } + ], + "fields": [ + { + "name": "category_name", + "selector": "h2.category-title", + "type": "text" + }, + { + "name": "products", + "selector": "div.product", + "type": "nested_list", # Array of complex objects + "fields": [ + { + "name": "name", + "selector": "h3.product-name", + "type": "text", + "default": "Unknown Product" + }, + { + "name": "price", + "selector": "span.price", + "type": "text" + }, + { + "name": "details", + "selector": "div.product-details", + "type": "nested", # Single complex object + "fields": [ + { + "name": "brand", + "selector": "span.brand", + "type": "text" + }, + { + "name": "model", + "selector": "span.model", + "type": "text" + }, + { + "name": "specs", + "selector": "div.specifications", + "type": "html" # Preserve HTML structure + } + ] + }, + { + "name": "features", + "selector": "ul.features li", + "type": "list", # Simple array of strings + "fields": [ + {"name": "feature", "type": "text"} + ] + }, + { + "name": "reviews", + "selector": "div.review", + "type": "nested_list", + "fields": [ + { + "name": "reviewer", + "selector": "span.reviewer-name", + "type": "text" + }, + { + "name": "rating", + "selector": "span.rating", + "type": "attribute", + "attribute": "data-rating" + }, + { + "name": "comment", + "selector": "p.review-text", + "type": "text" + }, + { + "name": "date", + "selector": "time.review-date", + "type": "attribute", + "attribute": "datetime" + } + ] + } + ] + } + ] +} + +async def extract_with_css_schema(): + strategy = JsonCssExtractionStrategy(complex_schema, verbose=True) + + config = CrawlerRunConfig( + extraction_strategy=strategy, + cache_mode=CacheMode.BYPASS, + # Enable dynamic content loading if needed + js_code="window.scrollTo(0, document.body.scrollHeight);", + wait_for="css:.product:nth-child(10)", # Wait for products to load + process_iframes=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun( + url="https://example.com/catalog", + config=config + ) + + if result.success: + data = json.loads(result.extracted_content) + print(f"Extracted {len(data)} categories") + + for category in data: + print(f"Category: {category['category_name']}") + print(f"Products: {len(category.get('products', []))}") + + # Show first product details + if category.get('products'): + product = category['products'][0] + print(f" First product: {product.get('name')}") + print(f" Features: {len(product.get('features', []))}") + print(f" Reviews: {len(product.get('reviews', []))}") + +asyncio.run(extract_with_css_schema()) +``` + +### Automatic Schema Generation - One-Time LLM, Unlimited Use + +```python +import json +import asyncio +from pathlib import Path +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, LLMConfig +from crawl4ai.extraction_strategy import JsonCssExtractionStrategy + +async def generate_and_use_schema(): + """ + 1. Use LLM once to generate schema from sample HTML + 2. Cache the schema for reuse + 3. Use cached schema for fast extraction without LLM calls + """ + + cache_dir = Path("./schema_cache") + cache_dir.mkdir(exist_ok=True) + schema_file = cache_dir / "ecommerce_schema.json" + + # Step 1: Generate or load cached schema + if schema_file.exists(): + schema = json.load(schema_file.open()) + print("Using cached schema") + else: + print("Generating schema using LLM...") + + # Configure LLM for schema generation + llm_config = LLMConfig( + provider="openai/gpt-4o", # or "ollama/llama3.3" for local + api_token="env:OPENAI_API_KEY" + ) + + # Get sample HTML from target site + async with AsyncWebCrawler() as crawler: + sample_result = await crawler.arun( + url="https://example.com/products", + config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS) + ) + sample_html = sample_result.cleaned_html[:5000] # Use first 5k chars + + # Generate schema automatically (ONE-TIME LLM COST) + schema = JsonCssExtractionStrategy.generate_schema( + html=sample_html, + schema_type="css", + llm_config=llm_config, + instruction="Extract product information including name, price, description, and features" + ) + + # Cache schema for future use (NO MORE LLM CALLS) + json.dump(schema, schema_file.open("w"), indent=2) + print("Schema generated and cached") + + # Step 2: Use schema for fast extraction (NO LLM CALLS) + strategy = JsonCssExtractionStrategy(schema, verbose=True) + + config = CrawlerRunConfig( + extraction_strategy=strategy, + cache_mode=CacheMode.BYPASS + ) + + # Step 3: Extract from multiple pages using same schema + urls = [ + "https://example.com/products", + "https://example.com/electronics", + "https://example.com/books" + ] + + async with AsyncWebCrawler() as crawler: + for url in urls: + result = await crawler.arun(url=url, config=config) + + if result.success: + data = json.loads(result.extracted_content) + print(f"{url}: Extracted {len(data)} items") + else: + print(f"{url}: Failed - {result.error_message}") + +asyncio.run(generate_and_use_schema()) +``` + +### XPath Extraction Strategy + +```python +from crawl4ai.extraction_strategy import JsonXPathExtractionStrategy + +# XPath-based schema (alternative to CSS) +xpath_schema = { + "name": "News Articles", + "baseSelector": "//article[@class='news-item']", + "baseFields": [ + { + "name": "article_id", + "type": "attribute", + "attribute": "data-id" + } + ], + "fields": [ + { + "name": "headline", + "selector": ".//h2[@class='headline']", + "type": "text" + }, + { + "name": "author", + "selector": ".//span[@class='author']/text()", + "type": "text" + }, + { + "name": "publish_date", + "selector": ".//time/@datetime", + "type": "text" + }, + { + "name": "content", + "selector": ".//div[@class='article-body']", + "type": "html" + }, + { + "name": "tags", + "selector": ".//div[@class='tags']/span[@class='tag']", + "type": "list", + "fields": [ + {"name": "tag", "type": "text"} + ] + } + ] +} + +# Generate XPath schema automatically +async def generate_xpath_schema(): + llm_config = LLMConfig(provider="ollama/llama3.3", api_token=None) + + sample_html = """ +
+

Breaking News

+ John Doe + +

Content here...

+
+ """ + + schema = JsonXPathExtractionStrategy.generate_schema( + html=sample_html, + schema_type="xpath", + llm_config=llm_config + ) + + return schema + +# Use XPath strategy +xpath_strategy = JsonXPathExtractionStrategy(xpath_schema, verbose=True) +``` + +### Regex Extraction Strategy - Pattern-Based Fast Extraction + +```python +from crawl4ai.extraction_strategy import RegexExtractionStrategy + +# Built-in patterns for common data types +async def extract_with_builtin_patterns(): + # Use multiple built-in patterns + strategy = RegexExtractionStrategy( + pattern=( + RegexExtractionStrategy.Email | + RegexExtractionStrategy.PhoneUS | + RegexExtractionStrategy.Url | + RegexExtractionStrategy.Currency | + RegexExtractionStrategy.DateIso + ) + ) + + config = CrawlerRunConfig(extraction_strategy=strategy) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun( + url="https://example.com/contact", + config=config + ) + + if result.success: + matches = json.loads(result.extracted_content) + + # Group by pattern type + by_type = {} + for match in matches: + label = match['label'] + if label not in by_type: + by_type[label] = [] + by_type[label].append(match['value']) + + for pattern_type, values in by_type.items(): + print(f"{pattern_type}: {len(values)} matches") + for value in values[:3]: # Show first 3 + print(f" {value}") + +# Custom regex patterns +custom_patterns = { + "product_code": r"SKU-\d{4,6}", + "discount": r"\d{1,2}%\s*off", + "model_number": r"Model:\s*([A-Z0-9-]+)" +} + +async def extract_with_custom_patterns(): + strategy = RegexExtractionStrategy(custom=custom_patterns) + + config = CrawlerRunConfig(extraction_strategy=strategy) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun( + url="https://example.com/products", + config=config + ) + + if result.success: + data = json.loads(result.extracted_content) + for item in data: + print(f"{item['label']}: {item['value']}") + +# LLM-generated patterns (one-time cost) +async def generate_custom_patterns(): + cache_file = Path("./patterns/price_patterns.json") + + if cache_file.exists(): + patterns = json.load(cache_file.open()) + else: + llm_config = LLMConfig( + provider="openai/gpt-4o-mini", + api_token="env:OPENAI_API_KEY" + ) + + # Get sample content + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com/pricing") + sample_html = result.cleaned_html + + # Generate optimized patterns + patterns = RegexExtractionStrategy.generate_pattern( + label="pricing_info", + html=sample_html, + query="Extract all pricing information including discounts and special offers", + llm_config=llm_config + ) + + # Cache for reuse + cache_file.parent.mkdir(exist_ok=True) + json.dump(patterns, cache_file.open("w"), indent=2) + + # Use cached patterns (no more LLM calls) + strategy = RegexExtractionStrategy(custom=patterns) + return strategy + +asyncio.run(extract_with_builtin_patterns()) +asyncio.run(extract_with_custom_patterns()) +``` + +### Complete Extraction Workflow - Combining Strategies + +```python +import asyncio +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig +from crawl4ai.extraction_strategy import ( + JsonCssExtractionStrategy, + RegexExtractionStrategy, + LLMExtractionStrategy +) + +async def multi_strategy_extraction(): + """ + Demonstrate using multiple extraction strategies in sequence: + 1. Fast regex for common patterns + 2. Schema-based for structured data + 3. LLM for complex reasoning + """ + + browser_config = BrowserConfig(headless=True) + + # Strategy 1: Fast regex extraction + regex_strategy = RegexExtractionStrategy( + pattern=RegexExtractionStrategy.Email | RegexExtractionStrategy.PhoneUS + ) + + # Strategy 2: Schema-based structured extraction + product_schema = { + "name": "Products", + "baseSelector": "div.product", + "fields": [ + {"name": "name", "selector": "h3", "type": "text"}, + {"name": "price", "selector": ".price", "type": "text"}, + {"name": "rating", "selector": ".rating", "type": "attribute", "attribute": "data-rating"} + ] + } + css_strategy = JsonCssExtractionStrategy(product_schema) + + # Strategy 3: LLM for complex analysis + llm_strategy = LLMExtractionStrategy( + llm_config=LLMConfig(provider="openai/gpt-4o-mini", api_token="env:OPENAI_API_KEY"), + schema={ + "type": "object", + "properties": { + "sentiment": {"type": "string"}, + "key_topics": {"type": "array", "items": {"type": "string"}}, + "summary": {"type": "string"} + } + }, + extraction_type="schema", + instruction="Analyze the content sentiment, extract key topics, and provide a summary" + ) + + url = "https://example.com/product-reviews" + + async with AsyncWebCrawler(config=browser_config) as crawler: + # Extract contact info with regex + regex_config = CrawlerRunConfig(extraction_strategy=regex_strategy) + regex_result = await crawler.arun(url=url, config=regex_config) + + # Extract structured product data + css_config = CrawlerRunConfig(extraction_strategy=css_strategy) + css_result = await crawler.arun(url=url, config=css_config) + + # Extract insights with LLM + llm_config = CrawlerRunConfig(extraction_strategy=llm_strategy) + llm_result = await crawler.arun(url=url, config=llm_config) + + # Combine results + results = { + "contacts": json.loads(regex_result.extracted_content) if regex_result.success else [], + "products": json.loads(css_result.extracted_content) if css_result.success else [], + "analysis": json.loads(llm_result.extracted_content) if llm_result.success else {} + } + + print(f"Found {len(results['contacts'])} contact entries") + print(f"Found {len(results['products'])} products") + print(f"Sentiment: {results['analysis'].get('sentiment', 'N/A')}") + + return results + +# Performance comparison +async def compare_extraction_performance(): + """Compare speed and accuracy of different strategies""" + import time + + url = "https://example.com/large-catalog" + + strategies = { + "regex": RegexExtractionStrategy(pattern=RegexExtractionStrategy.Currency), + "css": JsonCssExtractionStrategy({ + "name": "Prices", + "baseSelector": ".price", + "fields": [{"name": "amount", "selector": "span", "type": "text"}] + }), + "llm": LLMExtractionStrategy( + llm_config=LLMConfig(provider="openai/gpt-4o-mini", api_token="env:OPENAI_API_KEY"), + instruction="Extract all prices from the content", + extraction_type="block" + ) + } + + async with AsyncWebCrawler() as crawler: + for name, strategy in strategies.items(): + start_time = time.time() + + config = CrawlerRunConfig(extraction_strategy=strategy) + result = await crawler.arun(url=url, config=config) + + duration = time.time() - start_time + + if result.success: + data = json.loads(result.extracted_content) + print(f"{name}: {len(data)} items in {duration:.2f}s") + else: + print(f"{name}: Failed in {duration:.2f}s") + +asyncio.run(multi_strategy_extraction()) +asyncio.run(compare_extraction_performance()) +``` + +### Best Practices and Strategy Selection + +```python +# Strategy selection guide +def choose_extraction_strategy(use_case): + """ + Guide for selecting the right extraction strategy + """ + + strategies = { + # Fast pattern matching for common data types + "contact_info": RegexExtractionStrategy( + pattern=RegexExtractionStrategy.Email | RegexExtractionStrategy.PhoneUS + ), + + # Structured data from consistent HTML + "product_catalogs": JsonCssExtractionStrategy, + + # Complex reasoning and semantic understanding + "content_analysis": LLMExtractionStrategy, + + # Mixed approach for comprehensive extraction + "complete_site_analysis": "multi_strategy" + } + + recommendations = { + "speed_priority": "Use RegexExtractionStrategy for simple patterns, JsonCssExtractionStrategy for structured data", + "accuracy_priority": "Use LLMExtractionStrategy for complex content, JsonCssExtractionStrategy for predictable structure", + "cost_priority": "Avoid LLM strategies, use schema generation once then JsonCssExtractionStrategy", + "scale_priority": "Cache schemas, use regex for simple patterns, avoid LLM for high-volume extraction" + } + + return recommendations.get(use_case, "Combine strategies based on content complexity") + +# Error handling and validation +async def robust_extraction(): + strategies = [ + RegexExtractionStrategy(pattern=RegexExtractionStrategy.Email), + JsonCssExtractionStrategy(simple_schema), + # LLM as fallback for complex cases + ] + + async with AsyncWebCrawler() as crawler: + for strategy in strategies: + try: + config = CrawlerRunConfig(extraction_strategy=strategy) + result = await crawler.arun(url="https://example.com", config=config) + + if result.success and result.extracted_content: + data = json.loads(result.extracted_content) + if data: # Validate non-empty results + print(f"Success with {strategy.__class__.__name__}") + return data + + except Exception as e: + print(f"Strategy {strategy.__class__.__name__} failed: {e}") + continue + + print("All strategies failed") + return None +``` + +**📖 Learn more:** [LLM Strategies Deep Dive](https://docs.crawl4ai.com/extraction/llm-strategies/), [Schema-Based Extraction](https://docs.crawl4ai.com/extraction/no-llm-strategies/), [Regex Patterns](https://docs.crawl4ai.com/extraction/no-llm-strategies/#regexextractionstrategy), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/http_based_crawler_strategy.txt b/docs/md_v2/assets/llm.txt/txt/http_based_crawler_strategy.txt new file mode 100644 index 00000000..a7a3771b --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/http_based_crawler_strategy.txt @@ -0,0 +1,388 @@ +## HTTP Crawler Strategy + +Fast, lightweight HTTP-only crawling without browser overhead for cases where JavaScript execution isn't needed. + +### Basic HTTP Crawler Setup + +```python +import asyncio +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, HTTPCrawlerConfig, CacheMode +from crawl4ai.async_crawler_strategy import AsyncHTTPCrawlerStrategy +from crawl4ai.async_logger import AsyncLogger + +async def main(): + # Initialize HTTP strategy + http_strategy = AsyncHTTPCrawlerStrategy( + browser_config=HTTPCrawlerConfig( + method="GET", + verify_ssl=True, + follow_redirects=True + ), + logger=AsyncLogger(verbose=True) + ) + + # Use with AsyncWebCrawler + async with AsyncWebCrawler(crawler_strategy=http_strategy) as crawler: + result = await crawler.arun("https://example.com") + print(f"Status: {result.status_code}") + print(f"Content: {len(result.html)} chars") + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### HTTP Request Types + +```python +# GET request (default) +http_config = HTTPCrawlerConfig( + method="GET", + headers={"Accept": "application/json"} +) + +# POST with JSON data +http_config = HTTPCrawlerConfig( + method="POST", + json={"key": "value", "data": [1, 2, 3]}, + headers={"Content-Type": "application/json"} +) + +# POST with form data +http_config = HTTPCrawlerConfig( + method="POST", + data={"username": "user", "password": "pass"}, + headers={"Content-Type": "application/x-www-form-urlencoded"} +) + +# Advanced configuration +http_config = HTTPCrawlerConfig( + method="GET", + headers={"User-Agent": "Custom Bot/1.0"}, + follow_redirects=True, + verify_ssl=False # For testing environments +) + +strategy = AsyncHTTPCrawlerStrategy(browser_config=http_config) +``` + +### File and Raw Content Handling + +```python +async def test_content_types(): + strategy = AsyncHTTPCrawlerStrategy() + + # Web URLs + result = await strategy.crawl("https://httpbin.org/get") + print(f"Web content: {result.status_code}") + + # Local files + result = await strategy.crawl("file:///path/to/local/file.html") + print(f"File content: {len(result.html)}") + + # Raw HTML content + raw_html = "raw://

Test

Content

" + result = await strategy.crawl(raw_html) + print(f"Raw content: {result.html}") + + # Raw content with complex HTML + complex_html = """raw:// + + Test Page + +
+

Main Title

+

Paragraph content

+
  • Item 1
  • Item 2
+
+ + """ + result = await strategy.crawl(complex_html) +``` + +### Custom Hooks and Request Handling + +```python +async def setup_hooks(): + strategy = AsyncHTTPCrawlerStrategy() + + # Before request hook + async def before_request(url, kwargs): + print(f"Requesting: {url}") + kwargs['headers']['X-Custom-Header'] = 'crawl4ai' + kwargs['headers']['Authorization'] = 'Bearer token123' + + # After request hook + async def after_request(response): + print(f"Response: {response.status_code}") + if hasattr(response, 'redirected_url'): + print(f"Redirected to: {response.redirected_url}") + + # Error handling hook + async def on_error(error): + print(f"Request failed: {error}") + + # Set hooks + strategy.set_hook('before_request', before_request) + strategy.set_hook('after_request', after_request) + strategy.set_hook('on_error', on_error) + + # Use with hooks + result = await strategy.crawl("https://httpbin.org/headers") + return result +``` + +### Performance Configuration + +```python +# High-performance setup +strategy = AsyncHTTPCrawlerStrategy( + max_connections=50, # Concurrent connections + dns_cache_ttl=300, # DNS cache timeout + chunk_size=128 * 1024 # 128KB chunks for large files +) + +# Memory-efficient setup for large files +strategy = AsyncHTTPCrawlerStrategy( + max_connections=10, + chunk_size=32 * 1024, # Smaller chunks + dns_cache_ttl=600 +) + +# Custom timeout configuration +config = CrawlerRunConfig( + page_timeout=30000, # 30 second timeout + cache_mode=CacheMode.BYPASS +) + +result = await strategy.crawl("https://slow-server.com", config=config) +``` + +### Error Handling and Retries + +```python +from crawl4ai.async_crawler_strategy import ( + ConnectionTimeoutError, + HTTPStatusError, + HTTPCrawlerError +) + +async def robust_crawling(): + strategy = AsyncHTTPCrawlerStrategy() + + urls = [ + "https://example.com", + "https://httpbin.org/status/404", + "https://nonexistent.domain.test" + ] + + for url in urls: + try: + result = await strategy.crawl(url) + print(f"✓ {url}: {result.status_code}") + + except HTTPStatusError as e: + print(f"✗ {url}: HTTP {e.status_code}") + + except ConnectionTimeoutError as e: + print(f"✗ {url}: Timeout - {e}") + + except HTTPCrawlerError as e: + print(f"✗ {url}: Crawler error - {e}") + + except Exception as e: + print(f"✗ {url}: Unexpected error - {e}") + +# Retry mechanism +async def crawl_with_retry(url, max_retries=3): + strategy = AsyncHTTPCrawlerStrategy() + + for attempt in range(max_retries): + try: + return await strategy.crawl(url) + except (ConnectionTimeoutError, HTTPCrawlerError) as e: + if attempt == max_retries - 1: + raise + print(f"Retry {attempt + 1}/{max_retries}: {e}") + await asyncio.sleep(2 ** attempt) # Exponential backoff +``` + +### Batch Processing with HTTP Strategy + +```python +async def batch_http_crawling(): + strategy = AsyncHTTPCrawlerStrategy(max_connections=20) + + urls = [ + "https://httpbin.org/get", + "https://httpbin.org/user-agent", + "https://httpbin.org/headers", + "https://example.com", + "https://httpbin.org/json" + ] + + # Sequential processing + results = [] + async with strategy: + for url in urls: + try: + result = await strategy.crawl(url) + results.append((url, result.status_code, len(result.html))) + except Exception as e: + results.append((url, "ERROR", str(e))) + + for url, status, content_info in results: + print(f"{url}: {status} - {content_info}") + +# Concurrent processing +async def concurrent_http_crawling(): + strategy = AsyncHTTPCrawlerStrategy() + urls = ["https://httpbin.org/delay/1"] * 5 + + async def crawl_single(url): + try: + result = await strategy.crawl(url) + return f"✓ {result.status_code}" + except Exception as e: + return f"✗ {e}" + + async with strategy: + tasks = [crawl_single(url) for url in urls] + results = await asyncio.gather(*tasks, return_exceptions=True) + + for i, result in enumerate(results): + print(f"URL {i+1}: {result}") +``` + +### Integration with Content Processing + +```python +from crawl4ai import DefaultMarkdownGenerator, PruningContentFilter + +async def http_with_processing(): + # HTTP strategy with content processing + http_strategy = AsyncHTTPCrawlerStrategy( + browser_config=HTTPCrawlerConfig(verify_ssl=True) + ) + + # Configure markdown generation + crawler_config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + markdown_generator=DefaultMarkdownGenerator( + content_filter=PruningContentFilter( + threshold=0.48, + threshold_type="fixed", + min_word_threshold=10 + ) + ), + word_count_threshold=5, + excluded_tags=['script', 'style', 'nav'], + exclude_external_links=True + ) + + async with AsyncWebCrawler(crawler_strategy=http_strategy) as crawler: + result = await crawler.arun( + url="https://example.com", + config=crawler_config + ) + + print(f"Status: {result.status_code}") + print(f"Raw HTML: {len(result.html)} chars") + if result.markdown: + print(f"Markdown: {len(result.markdown.raw_markdown)} chars") + if result.markdown.fit_markdown: + print(f"Filtered: {len(result.markdown.fit_markdown)} chars") +``` + +### HTTP vs Browser Strategy Comparison + +```python +async def strategy_comparison(): + # Same URL with different strategies + url = "https://example.com" + + # HTTP Strategy (fast, no JS) + http_strategy = AsyncHTTPCrawlerStrategy() + start_time = time.time() + http_result = await http_strategy.crawl(url) + http_time = time.time() - start_time + + # Browser Strategy (full features) + from crawl4ai import BrowserConfig + browser_config = BrowserConfig(headless=True) + start_time = time.time() + async with AsyncWebCrawler(config=browser_config) as crawler: + browser_result = await crawler.arun(url) + browser_time = time.time() - start_time + + print(f"HTTP Strategy:") + print(f" Time: {http_time:.2f}s") + print(f" Content: {len(http_result.html)} chars") + print(f" Features: Fast, lightweight, no JS") + + print(f"Browser Strategy:") + print(f" Time: {browser_time:.2f}s") + print(f" Content: {len(browser_result.html)} chars") + print(f" Features: Full browser, JS, screenshots, etc.") + + # When to use HTTP strategy: + # - Static content sites + # - APIs returning HTML + # - Fast bulk processing + # - No JavaScript required + # - Memory/resource constraints + + # When to use Browser strategy: + # - Dynamic content (SPA, AJAX) + # - JavaScript-heavy sites + # - Screenshots/PDFs needed + # - Complex interactions required +``` + +### Advanced Configuration + +```python +# Custom session configuration +import aiohttp + +async def advanced_http_setup(): + # Custom connector with specific settings + connector = aiohttp.TCPConnector( + limit=100, # Connection pool size + ttl_dns_cache=600, # DNS cache TTL + use_dns_cache=True, # Enable DNS caching + keepalive_timeout=30, # Keep-alive timeout + force_close=False # Reuse connections + ) + + strategy = AsyncHTTPCrawlerStrategy( + max_connections=50, + dns_cache_ttl=600, + chunk_size=64 * 1024 + ) + + # Custom headers for all requests + http_config = HTTPCrawlerConfig( + headers={ + "User-Agent": "Crawl4AI-HTTP/1.0", + "Accept": "text/html,application/xhtml+xml", + "Accept-Language": "en-US,en;q=0.9", + "Accept-Encoding": "gzip, deflate, br", + "DNT": "1" + }, + verify_ssl=True, + follow_redirects=True + ) + + strategy.browser_config = http_config + + # Use with custom timeout + config = CrawlerRunConfig( + page_timeout=45000, # 45 seconds + cache_mode=CacheMode.ENABLED + ) + + result = await strategy.crawl("https://example.com", config=config) + await strategy.close() +``` + +**📖 Learn more:** [AsyncWebCrawler API](https://docs.crawl4ai.com/api/async-webcrawler/), [Browser vs HTTP Strategy](https://docs.crawl4ai.com/core/browser-crawler-config/), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/installation.txt b/docs/md_v2/assets/llm.txt/txt/installation.txt new file mode 100644 index 00000000..a2991e28 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/installation.txt @@ -0,0 +1,231 @@ +## Installation + +Multiple installation options for different environments and use cases. + +### Basic Installation + +```bash +# Install core library +pip install crawl4ai + +# Initial setup (installs Playwright browsers) +crawl4ai-setup + +# Verify installation +crawl4ai-doctor +``` + +### Quick Verification + +```python +import asyncio +from crawl4ai import AsyncWebCrawler + +async def main(): + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com") + print(result.markdown[:300]) + +if __name__ == "__main__": + asyncio.run(main()) +``` + +**📖 Learn more:** [Basic Usage Guide](https://docs.crawl4ai.com/core/quickstart.md) + +### Advanced Features (Optional) + +```bash +# PyTorch-based features (text clustering, semantic chunking) +pip install crawl4ai[torch] +crawl4ai-setup + +# Transformers (Hugging Face models) +pip install crawl4ai[transformer] +crawl4ai-setup + +# All features (large download) +pip install crawl4ai[all] +crawl4ai-setup + +# Pre-download models (optional) +crawl4ai-download-models +``` + +**📖 Learn more:** [Advanced Features Documentation](https://docs.crawl4ai.com/extraction/llm-strategies.md) + +### Docker Deployment + +```bash +# Pull pre-built image (specify platform for consistency) +docker pull --platform linux/amd64 unclecode/crawl4ai:latest +# For ARM (M1/M2 Macs): docker pull --platform linux/arm64 unclecode/crawl4ai:latest + +# Setup environment for LLM support +cat > .llm.env << EOL +OPENAI_API_KEY=sk-your-key +ANTHROPIC_API_KEY=your-anthropic-key +EOL + +# Run with LLM support (specify platform) +docker run -d \ + --platform linux/amd64 \ + -p 11235:11235 \ + --name crawl4ai \ + --env-file .llm.env \ + --shm-size=1g \ + unclecode/crawl4ai:latest + +# For ARM Macs, use: --platform linux/arm64 + +# Basic run (no LLM) +docker run -d \ + --platform linux/amd64 \ + -p 11235:11235 \ + --name crawl4ai \ + --shm-size=1g \ + unclecode/crawl4ai:latest +``` + +**📖 Learn more:** [Complete Docker Guide](https://docs.crawl4ai.com/core/docker-deployment.md) + +### Docker Compose + +```bash +# Clone repository +git clone https://github.com/unclecode/crawl4ai.git +cd crawl4ai + +# Copy environment template +cp deploy/docker/.llm.env.example .llm.env +# Edit .llm.env with your API keys + +# Run pre-built image +IMAGE=unclecode/crawl4ai:latest docker compose up -d + +# Build and run locally +docker compose up --build -d + +# Build with all features +INSTALL_TYPE=all docker compose up --build -d + +# Stop service +docker compose down +``` + +**📖 Learn more:** [Docker Compose Configuration](https://docs.crawl4ai.com/core/docker-deployment.md#option-2-using-docker-compose) + +### Manual Docker Build + +```bash +# Build multi-architecture image (specify platform) +docker buildx build --platform linux/amd64 -t crawl4ai-local:latest --load . +# For ARM: docker buildx build --platform linux/arm64 -t crawl4ai-local:latest --load . + +# Build with specific features +docker buildx build \ + --platform linux/amd64 \ + --build-arg INSTALL_TYPE=all \ + --build-arg ENABLE_GPU=false \ + -t crawl4ai-local:latest --load . + +# Run custom build (specify platform) +docker run -d \ + --platform linux/amd64 \ + -p 11235:11235 \ + --name crawl4ai-custom \ + --env-file .llm.env \ + --shm-size=1g \ + crawl4ai-local:latest +``` + +**📖 Learn more:** [Manual Build Guide](https://docs.crawl4ai.com/core/docker-deployment.md#option-3-manual-local-build--run) + +### Google Colab + +```python +# Install in Colab +!pip install crawl4ai +!crawl4ai-setup + +# If setup fails, manually install Playwright browsers +!playwright install chromium + +# Install with all features (may take 5-10 minutes) +!pip install crawl4ai[all] +!crawl4ai-setup +!crawl4ai-download-models + +# If still having issues, force Playwright install +!playwright install chromium --force + +# Quick test +import asyncio +from crawl4ai import AsyncWebCrawler + +async def test_crawl(): + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com") + print("✅ Installation successful!") + print(f"Content length: {len(result.markdown)}") + +# Run test in Colab +await test_crawl() +``` + +**📖 Learn more:** [Colab Examples Notebook](https://colab.research.google.com/github/unclecode/crawl4ai/blob/main/docs/examples/quickstart.ipynb) + +### Docker API Usage + +```python +# Using Docker SDK +import asyncio +from crawl4ai.docker_client import Crawl4aiDockerClient +from crawl4ai import BrowserConfig, CrawlerRunConfig, CacheMode + +async def main(): + async with Crawl4aiDockerClient(base_url="http://localhost:11235") as client: + results = await client.crawl( + ["https://example.com"], + browser_config=BrowserConfig(headless=True), + crawler_config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS) + ) + for result in results: + print(f"Success: {result.success}, Length: {len(result.markdown)}") + +asyncio.run(main()) +``` + +**📖 Learn more:** [Docker Client API](https://docs.crawl4ai.com/core/docker-deployment.md#python-sdk) + +### Direct API Calls + +```python +# REST API example +import requests + +payload = { + "urls": ["https://example.com"], + "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, + "crawler_config": {"type": "CrawlerRunConfig", "params": {"cache_mode": "bypass"}} +} + +response = requests.post("http://localhost:11235/crawl", json=payload) +print(response.json()) +``` + +**📖 Learn more:** [REST API Reference](https://docs.crawl4ai.com/core/docker-deployment.md#rest-api-examples) + +### Health Check + +```bash +# Check Docker service +curl http://localhost:11235/health + +# Access playground +open http://localhost:11235/playground + +# View metrics +curl http://localhost:11235/metrics +``` + +**📖 Learn more:** [Monitoring & Metrics](https://docs.crawl4ai.com/core/docker-deployment.md#metrics--monitoring) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/llms-full.txt b/docs/md_v2/assets/llm.txt/txt/llms-full.txt new file mode 100644 index 00000000..5b476706 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/llms-full.txt @@ -0,0 +1,5929 @@ +# Crawl4AI + +> Open-source LLM-friendly web crawler and scraper for AI applications + +Crawl4AI simplifies asynchronous web crawling and data extraction, making it accessible for large language models (LLMs) and AI applications. Built with Python and Playwright for high-performance crawling with structured data extraction. + +**Key Features:** +- Asynchronous crawling with high concurrency +- Multiple extraction strategies (CSS, XPath, LLM-based) +- Built-in markdown generation with content filtering +- Docker deployment with REST API +- Session management and browser automation +- Advanced anti-detection capabilities + +**Quick Links:** +- [GitHub Repository](https://github.com/unclecode/crawl4ai) +- [Documentation](https://docs.crawl4ai.com) +- [Examples](https://github.com/unclecode/crawl4ai/tree/main/docs/examples) + +--- + + +## Installation + +Multiple installation options for different environments and use cases. + +### Basic Installation + +```bash +# Install core library +pip install crawl4ai + +# Initial setup (installs Playwright browsers) +crawl4ai-setup + +# Verify installation +crawl4ai-doctor +``` + +### Quick Verification + +```python +import asyncio +from crawl4ai import AsyncWebCrawler + +async def main(): + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com") + print(result.markdown[:300]) + +if __name__ == "__main__": + asyncio.run(main()) +``` + +**📖 Learn more:** [Basic Usage Guide](https://docs.crawl4ai.com/core/quickstart.md) + +### Advanced Features (Optional) + +```bash +# PyTorch-based features (text clustering, semantic chunking) +pip install crawl4ai[torch] +crawl4ai-setup + +# Transformers (Hugging Face models) +pip install crawl4ai[transformer] +crawl4ai-setup + +# All features (large download) +pip install crawl4ai[all] +crawl4ai-setup + +# Pre-download models (optional) +crawl4ai-download-models +``` + +**📖 Learn more:** [Advanced Features Documentation](https://docs.crawl4ai.com/extraction/llm-strategies.md) + +### Docker Deployment + +```bash +# Pull pre-built image (specify platform for consistency) +docker pull --platform linux/amd64 unclecode/crawl4ai:latest +# For ARM (M1/M2 Macs): docker pull --platform linux/arm64 unclecode/crawl4ai:latest + +# Setup environment for LLM support +cat > .llm.env << EOL +OPENAI_API_KEY=sk-your-key +ANTHROPIC_API_KEY=your-anthropic-key +EOL + +# Run with LLM support (specify platform) +docker run -d \ + --platform linux/amd64 \ + -p 11235:11235 \ + --name crawl4ai \ + --env-file .llm.env \ + --shm-size=1g \ + unclecode/crawl4ai:latest + +# For ARM Macs, use: --platform linux/arm64 + +# Basic run (no LLM) +docker run -d \ + --platform linux/amd64 \ + -p 11235:11235 \ + --name crawl4ai \ + --shm-size=1g \ + unclecode/crawl4ai:latest +``` + +**📖 Learn more:** [Complete Docker Guide](https://docs.crawl4ai.com/core/docker-deployment.md) + +### Docker Compose + +```bash +# Clone repository +git clone https://github.com/unclecode/crawl4ai.git +cd crawl4ai + +# Copy environment template +cp deploy/docker/.llm.env.example .llm.env +# Edit .llm.env with your API keys + +# Run pre-built image +IMAGE=unclecode/crawl4ai:latest docker compose up -d + +# Build and run locally +docker compose up --build -d + +# Build with all features +INSTALL_TYPE=all docker compose up --build -d + +# Stop service +docker compose down +``` + +**📖 Learn more:** [Docker Compose Configuration](https://docs.crawl4ai.com/core/docker-deployment.md#option-2-using-docker-compose) + +### Manual Docker Build + +```bash +# Build multi-architecture image (specify platform) +docker buildx build --platform linux/amd64 -t crawl4ai-local:latest --load . +# For ARM: docker buildx build --platform linux/arm64 -t crawl4ai-local:latest --load . + +# Build with specific features +docker buildx build \ + --platform linux/amd64 \ + --build-arg INSTALL_TYPE=all \ + --build-arg ENABLE_GPU=false \ + -t crawl4ai-local:latest --load . + +# Run custom build (specify platform) +docker run -d \ + --platform linux/amd64 \ + -p 11235:11235 \ + --name crawl4ai-custom \ + --env-file .llm.env \ + --shm-size=1g \ + crawl4ai-local:latest +``` + +**📖 Learn more:** [Manual Build Guide](https://docs.crawl4ai.com/core/docker-deployment.md#option-3-manual-local-build--run) + +### Google Colab + +```python +# Install in Colab +!pip install crawl4ai +!crawl4ai-setup + +# If setup fails, manually install Playwright browsers +!playwright install chromium + +# Install with all features (may take 5-10 minutes) +!pip install crawl4ai[all] +!crawl4ai-setup +!crawl4ai-download-models + +# If still having issues, force Playwright install +!playwright install chromium --force + +# Quick test +import asyncio +from crawl4ai import AsyncWebCrawler + +async def test_crawl(): + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com") + print("✅ Installation successful!") + print(f"Content length: {len(result.markdown)}") + +# Run test in Colab +await test_crawl() +``` + +**📖 Learn more:** [Colab Examples Notebook](https://colab.research.google.com/github/unclecode/crawl4ai/blob/main/docs/examples/quickstart.ipynb) + +### Docker API Usage + +```python +# Using Docker SDK +import asyncio +from crawl4ai.docker_client import Crawl4aiDockerClient +from crawl4ai import BrowserConfig, CrawlerRunConfig, CacheMode + +async def main(): + async with Crawl4aiDockerClient(base_url="http://localhost:11235") as client: + results = await client.crawl( + ["https://example.com"], + browser_config=BrowserConfig(headless=True), + crawler_config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS) + ) + for result in results: + print(f"Success: {result.success}, Length: {len(result.markdown)}") + +asyncio.run(main()) +``` + +**📖 Learn more:** [Docker Client API](https://docs.crawl4ai.com/core/docker-deployment.md#python-sdk) + +### Direct API Calls + +```python +# REST API example +import requests + +payload = { + "urls": ["https://example.com"], + "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, + "crawler_config": {"type": "CrawlerRunConfig", "params": {"cache_mode": "bypass"}} +} + +response = requests.post("http://localhost:11235/crawl", json=payload) +print(response.json()) +``` + +**📖 Learn more:** [REST API Reference](https://docs.crawl4ai.com/core/docker-deployment.md#rest-api-examples) + +### Health Check + +```bash +# Check Docker service +curl http://localhost:11235/health + +# Access playground +open http://localhost:11235/playground + +# View metrics +curl http://localhost:11235/metrics +``` + +**📖 Learn more:** [Monitoring & Metrics](https://docs.crawl4ai.com/core/docker-deployment.md#metrics--monitoring) +--- + + +## Simple Crawling + +Basic web crawling operations with AsyncWebCrawler, configurations, and response handling. + +### Basic Setup + +```python +import asyncio +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig + +async def main(): + browser_config = BrowserConfig() # Default browser settings + run_config = CrawlerRunConfig() # Default crawl settings + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun( + url="https://example.com", + config=run_config + ) + print(result.markdown) + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### Understanding CrawlResult + +```python +from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator +from crawl4ai.content_filter_strategy import PruningContentFilter + +config = CrawlerRunConfig( + markdown_generator=DefaultMarkdownGenerator( + content_filter=PruningContentFilter(threshold=0.6), + options={"ignore_links": True} + ) +) + +result = await crawler.arun("https://example.com", config=config) + +# Different content formats +print(result.html) # Raw HTML +print(result.cleaned_html) # Cleaned HTML +print(result.markdown.raw_markdown) # Raw markdown +print(result.markdown.fit_markdown) # Filtered markdown + +# Status information +print(result.success) # True/False +print(result.status_code) # HTTP status (200, 404, etc.) + +# Extracted content +print(result.media) # Images, videos, audio +print(result.links) # Internal/external links +``` + +### Basic Configuration Options + +```python +run_config = CrawlerRunConfig( + word_count_threshold=10, # Min words per block + exclude_external_links=True, # Remove external links + remove_overlay_elements=True, # Remove popups/modals + process_iframes=True, # Process iframe content + excluded_tags=['form', 'header'] # Skip these tags +) + +result = await crawler.arun("https://example.com", config=run_config) +``` + +### Error Handling + +```python +result = await crawler.arun("https://example.com", config=run_config) + +if not result.success: + print(f"Crawl failed: {result.error_message}") + print(f"Status code: {result.status_code}") +else: + print(f"Success! Content length: {len(result.markdown)}") +``` + +### Debugging with Verbose Logging + +```python +browser_config = BrowserConfig(verbose=True) + +async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun("https://example.com") + # Detailed logging output will be displayed +``` + +### Complete Example + +```python +import asyncio +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode + +async def comprehensive_crawl(): + browser_config = BrowserConfig(verbose=True) + + run_config = CrawlerRunConfig( + # Content filtering + word_count_threshold=10, + excluded_tags=['form', 'header', 'nav'], + exclude_external_links=True, + + # Content processing + process_iframes=True, + remove_overlay_elements=True, + + # Cache control + cache_mode=CacheMode.ENABLED + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun( + url="https://example.com", + config=run_config + ) + + if result.success: + # Display content summary + print(f"Title: {result.metadata.get('title', 'No title')}") + print(f"Content: {result.markdown[:500]}...") + + # Process media + images = result.media.get("images", []) + print(f"Found {len(images)} images") + for img in images[:3]: # First 3 images + print(f" - {img.get('src', 'No src')}") + + # Process links + internal_links = result.links.get("internal", []) + print(f"Found {len(internal_links)} internal links") + for link in internal_links[:3]: # First 3 links + print(f" - {link.get('href', 'No href')}") + + else: + print(f"❌ Crawl failed: {result.error_message}") + print(f"Status: {result.status_code}") + +if __name__ == "__main__": + asyncio.run(comprehensive_crawl()) +``` + +### Working with Raw HTML and Local Files + +```python +# Crawl raw HTML +raw_html = "

Test

Content

" +result = await crawler.arun(f"raw://{raw_html}") + +# Crawl local file +result = await crawler.arun("file:///path/to/local/file.html") + +# Both return standard CrawlResult objects +print(result.markdown) +``` + +## Table Extraction + +Extract structured data from HTML tables with automatic detection and scoring. + +### Basic Table Extraction + +```python +import asyncio +import pandas as pd +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode + +async def extract_tables(): + async with AsyncWebCrawler() as crawler: + config = CrawlerRunConfig( + table_score_threshold=7, # Higher = stricter detection + cache_mode=CacheMode.BYPASS + ) + + result = await crawler.arun("https://example.com/tables", config=config) + + if result.success and result.tables: + # New tables field (v0.6+) + for i, table in enumerate(result.tables): + print(f"Table {i+1}:") + print(f"Headers: {table['headers']}") + print(f"Rows: {len(table['rows'])}") + print(f"Caption: {table.get('caption', 'No caption')}") + + # Convert to DataFrame + df = pd.DataFrame(table['rows'], columns=table['headers']) + print(df.head()) + +asyncio.run(extract_tables()) +``` + +### Advanced Table Processing + +```python +from crawl4ai import LXMLWebScrapingStrategy + +async def process_financial_tables(): + config = CrawlerRunConfig( + table_score_threshold=8, # Strict detection for data tables + scraping_strategy=LXMLWebScrapingStrategy(), + keep_data_attributes=True, + scan_full_page=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://coinmarketcap.com", config=config) + + if result.tables: + # Get the main data table (usually first/largest) + main_table = result.tables[0] + + # Create DataFrame + df = pd.DataFrame( + main_table['rows'], + columns=main_table['headers'] + ) + + # Clean and process data + df = clean_financial_data(df) + + # Save for analysis + df.to_csv("market_data.csv", index=False) + return df + +def clean_financial_data(df): + """Clean currency symbols, percentages, and large numbers""" + for col in df.columns: + if 'price' in col.lower(): + # Remove currency symbols + df[col] = df[col].str.replace(r'[^\d.]', '', regex=True) + df[col] = pd.to_numeric(df[col], errors='coerce') + + elif '%' in str(df[col].iloc[0]): + # Convert percentages + df[col] = df[col].str.replace('%', '').astype(float) / 100 + + elif any(suffix in str(df[col].iloc[0]) for suffix in ['B', 'M', 'K']): + # Handle large numbers (Billions, Millions, etc.) + df[col] = df[col].apply(convert_large_numbers) + + return df + +def convert_large_numbers(value): + """Convert 1.5B -> 1500000000""" + if pd.isna(value): + return float('nan') + + value = str(value) + multiplier = 1 + if 'B' in value: + multiplier = 1e9 + elif 'M' in value: + multiplier = 1e6 + elif 'K' in value: + multiplier = 1e3 + + number = float(re.sub(r'[^\d.]', '', value)) + return number * multiplier +``` + +### Table Detection Configuration + +```python +# Strict table detection (data-heavy pages) +strict_config = CrawlerRunConfig( + table_score_threshold=9, # Only high-quality tables + word_count_threshold=5, # Ignore sparse content + excluded_tags=['nav', 'footer'] # Skip navigation tables +) + +# Lenient detection (mixed content pages) +lenient_config = CrawlerRunConfig( + table_score_threshold=5, # Include layout tables + process_iframes=True, # Check embedded tables + scan_full_page=True # Scroll to load dynamic tables +) + +# Financial/data site optimization +financial_config = CrawlerRunConfig( + table_score_threshold=8, + scraping_strategy=LXMLWebScrapingStrategy(), + wait_for="css:table", # Wait for tables to load + scan_full_page=True, + scroll_delay=0.2 +) +``` + +### Multi-Table Processing + +```python +async def extract_all_tables(): + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com/data", config=config) + + tables_data = {} + + for i, table in enumerate(result.tables): + # Create meaningful names based on content + table_name = ( + table.get('caption') or + f"table_{i+1}_{table['headers'][0]}" + ).replace(' ', '_').lower() + + df = pd.DataFrame(table['rows'], columns=table['headers']) + + # Store with metadata + tables_data[table_name] = { + 'dataframe': df, + 'headers': table['headers'], + 'row_count': len(table['rows']), + 'caption': table.get('caption'), + 'summary': table.get('summary') + } + + return tables_data + +# Usage +tables = await extract_all_tables() +for name, data in tables.items(): + print(f"{name}: {data['row_count']} rows") + data['dataframe'].to_csv(f"{name}.csv") +``` + +### Backward Compatibility + +```python +# Support both new and old table formats +def get_tables(result): + # New format (v0.6+) + if hasattr(result, 'tables') and result.tables: + return result.tables + + # Fallback to media.tables (older versions) + return result.media.get('tables', []) + +# Usage in existing code +result = await crawler.arun(url, config=config) +tables = get_tables(result) + +for table in tables: + df = pd.DataFrame(table['rows'], columns=table['headers']) + # Process table data... +``` + +### Table Quality Scoring + +```python +# Understanding table_score_threshold values: +# 10: Only perfect data tables (headers + data rows) +# 8-9: High-quality tables (recommended for financial/data sites) +# 6-7: Mixed content tables (news sites, wikis) +# 4-5: Layout tables included (broader detection) +# 1-3: All table-like structures (very permissive) + +config = CrawlerRunConfig( + table_score_threshold=8, # Balanced detection + verbose=True # See scoring details in logs +) +``` + + +**📖 Learn more:** [CrawlResult API Reference](https://docs.crawl4ai.com/api/crawl-result/), [Browser & Crawler Configuration](https://docs.crawl4ai.com/core/browser-crawler-config/), [Cache Modes](https://docs.crawl4ai.com/core/cache-modes/) +--- + + +## Browser, Crawler & LLM Configuration + +Core configuration classes for controlling browser behavior, crawl operations, LLM providers, and understanding crawl results. + +### BrowserConfig - Browser Environment Setup + +```python +from crawl4ai import BrowserConfig, AsyncWebCrawler + +# Basic browser configuration +browser_config = BrowserConfig( + browser_type="chromium", # "chromium", "firefox", "webkit" + headless=True, # False for visible browser (debugging) + viewport_width=1280, + viewport_height=720, + verbose=True +) + +# Advanced browser setup with proxy and persistence +browser_config = BrowserConfig( + headless=False, + proxy="http://user:pass@proxy:8080", + use_persistent_context=True, + user_data_dir="./browser_data", + cookies=[ + {"name": "session", "value": "abc123", "domain": "example.com"} + ], + headers={"Accept-Language": "en-US,en;q=0.9"}, + user_agent="Mozilla/5.0 (X11; Linux x86_64) Chrome/116.0.0.0 Safari/537.36", + text_mode=True, # Disable images for faster crawling + extra_args=["--disable-extensions", "--no-sandbox"] +) + +async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun("https://example.com") +``` + +### CrawlerRunConfig - Crawl Operation Control + +```python +from crawl4ai import CrawlerRunConfig, CacheMode +from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator +from crawl4ai.content_filter_strategy import PruningContentFilter + +# Basic crawl configuration +run_config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + word_count_threshold=10, + excluded_tags=["nav", "footer", "script"], + exclude_external_links=True, + screenshot=True, + pdf=True +) + +# Advanced content processing +md_generator = DefaultMarkdownGenerator( + content_filter=PruningContentFilter(threshold=0.6), + options={"citations": True, "ignore_links": False} +) + +run_config = CrawlerRunConfig( + # Content processing + markdown_generator=md_generator, + css_selector="main.content", # Focus on specific content + target_elements=[".article", ".post"], # Multiple target selectors + process_iframes=True, + remove_overlay_elements=True, + + # Page interaction + js_code=[ + "window.scrollTo(0, document.body.scrollHeight);", + "document.querySelector('.load-more')?.click();" + ], + wait_for="css:.content-loaded", + wait_for_timeout=10000, + scan_full_page=True, + + # Session management + session_id="persistent_session", + + # Media handling + screenshot=True, + pdf=True, + capture_mhtml=True, + image_score_threshold=5, + + # Advanced options + simulate_user=True, + magic=True, # Auto-handle popups + verbose=True +) +``` + +### CrawlerRunConfig Parameters by Category + +```python +# Content Processing +config = CrawlerRunConfig( + word_count_threshold=10, # Min words per content block + css_selector="main.article", # Focus on specific content + target_elements=[".post", ".content"], # Multiple target selectors + excluded_tags=["nav", "footer"], # Remove these tags + excluded_selector="#ads, .tracker", # Remove by selector + only_text=True, # Text-only extraction + keep_data_attributes=True, # Preserve data-* attributes + remove_forms=True, # Remove all forms + process_iframes=True # Include iframe content +) + +# Page Navigation & Timing +config = CrawlerRunConfig( + wait_until="networkidle", # Wait condition + page_timeout=60000, # 60 second timeout + wait_for="css:.loaded", # Wait for specific element + wait_for_images=True, # Wait for images to load + delay_before_return_html=0.5, # Final delay before capture + semaphore_count=10 # Max concurrent operations +) + +# Page Interaction +config = CrawlerRunConfig( + js_code="document.querySelector('button').click();", + scan_full_page=True, # Auto-scroll page + scroll_delay=0.3, # Delay between scrolls + remove_overlay_elements=True, # Remove popups/modals + simulate_user=True, # Simulate human behavior + override_navigator=True, # Override navigator properties + magic=True # Auto-handle common patterns +) + +# Caching & Session +config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, # Cache behavior + session_id="my_session", # Persistent session + shared_data={"context": "value"} # Share data between hooks +) + +# Media & Output +config = CrawlerRunConfig( + screenshot=True, # Capture screenshot + pdf=True, # Generate PDF + capture_mhtml=True, # Capture MHTML archive + image_score_threshold=3, # Filter low-quality images + exclude_external_images=True # Remove external images +) + +# Link & Domain Filtering +config = CrawlerRunConfig( + exclude_external_links=True, # Remove external links + exclude_social_media_links=True, # Remove social media links + exclude_domains=["ads.com", "tracker.io"], # Custom domain filter + exclude_internal_links=False # Keep internal links +) +``` + +### LLMConfig - Language Model Setup + +```python +from crawl4ai import LLMConfig + +# OpenAI configuration +llm_config = LLMConfig( + provider="openai/gpt-4o-mini", + api_token=os.getenv("OPENAI_API_KEY"), # or "env:OPENAI_API_KEY" + temperature=0.1, + max_tokens=2000 +) + +# Local model with Ollama +llm_config = LLMConfig( + provider="ollama/llama3.3", + api_token=None, # Not needed for Ollama + base_url="http://localhost:11434" # Custom endpoint +) + +# Anthropic Claude +llm_config = LLMConfig( + provider="anthropic/claude-3-5-sonnet-20240620", + api_token="env:ANTHROPIC_API_KEY", + max_tokens=4000 +) + +# Google Gemini +llm_config = LLMConfig( + provider="gemini/gemini-1.5-pro", + api_token="env:GEMINI_API_KEY" +) + +# Groq (fast inference) +llm_config = LLMConfig( + provider="groq/llama3-70b-8192", + api_token="env:GROQ_API_KEY" +) +``` + +### CrawlResult - Understanding Output + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig + +async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com", config=run_config) + + # Basic status information + print(f"Success: {result.success}") + print(f"Status: {result.status_code}") + print(f"URL: {result.url}") + + if not result.success: + print(f"Error: {result.error_message}") + return + + # HTML content variants + print(f"Original HTML: {len(result.html)} chars") + print(f"Cleaned HTML: {len(result.cleaned_html or '')} chars") + + # Markdown output (MarkdownGenerationResult) + if result.markdown: + print(f"Raw markdown: {len(result.markdown.raw_markdown)} chars") + print(f"With citations: {len(result.markdown.markdown_with_citations)} chars") + + # Filtered content (if content filter was used) + if result.markdown.fit_markdown: + print(f"Fit markdown: {len(result.markdown.fit_markdown)} chars") + print(f"Fit HTML: {len(result.markdown.fit_html)} chars") + + # Extracted structured data + if result.extracted_content: + import json + data = json.loads(result.extracted_content) + print(f"Extracted {len(data)} items") + + # Media and links + images = result.media.get("images", []) + print(f"Found {len(images)} images") + for img in images[:3]: # First 3 images + print(f" {img.get('src')} (score: {img.get('score', 0)})") + + internal_links = result.links.get("internal", []) + external_links = result.links.get("external", []) + print(f"Links: {len(internal_links)} internal, {len(external_links)} external") + + # Generated files + if result.screenshot: + print(f"Screenshot captured: {len(result.screenshot)} chars (base64)") + # Save screenshot + import base64 + with open("page.png", "wb") as f: + f.write(base64.b64decode(result.screenshot)) + + if result.pdf: + print(f"PDF generated: {len(result.pdf)} bytes") + with open("page.pdf", "wb") as f: + f.write(result.pdf) + + if result.mhtml: + print(f"MHTML captured: {len(result.mhtml)} chars") + with open("page.mhtml", "w", encoding="utf-8") as f: + f.write(result.mhtml) + + # SSL certificate information + if result.ssl_certificate: + print(f"SSL Issuer: {result.ssl_certificate.issuer}") + print(f"Valid until: {result.ssl_certificate.valid_until}") + + # Network and console data (if captured) + if result.network_requests: + requests = [r for r in result.network_requests if r.get("event_type") == "request"] + print(f"Network requests captured: {len(requests)}") + + if result.console_messages: + errors = [m for m in result.console_messages if m.get("type") == "error"] + print(f"Console messages: {len(result.console_messages)} ({len(errors)} errors)") + + # Session and metadata + if result.session_id: + print(f"Session ID: {result.session_id}") + + if result.metadata: + print(f"Metadata: {result.metadata.get('title', 'No title')}") +``` + +### Configuration Helpers and Best Practices + +```python +# Clone configurations for variations +base_config = CrawlerRunConfig( + cache_mode=CacheMode.ENABLED, + word_count_threshold=200, + verbose=True +) + +# Create streaming version +stream_config = base_config.clone( + stream=True, + cache_mode=CacheMode.BYPASS +) + +# Create debug version +debug_config = base_config.clone( + headless=False, + page_timeout=120000, + verbose=True +) + +# Serialize/deserialize configurations +config_dict = base_config.dump() # Convert to dict +restored_config = CrawlerRunConfig.load(config_dict) # Restore from dict + +# Browser configuration management +browser_config = BrowserConfig(headless=True, text_mode=True) +browser_dict = browser_config.to_dict() +cloned_browser = browser_config.clone(headless=False, verbose=True) +``` + +### Common Configuration Patterns + +```python +# Fast text-only crawling +fast_config = CrawlerRunConfig( + cache_mode=CacheMode.ENABLED, + text_mode=True, + exclude_external_links=True, + exclude_external_images=True, + word_count_threshold=50 +) + +# Comprehensive data extraction +comprehensive_config = CrawlerRunConfig( + process_iframes=True, + scan_full_page=True, + wait_for_images=True, + screenshot=True, + capture_network_requests=True, + capture_console_messages=True, + magic=True +) + +# Stealth crawling +stealth_config = CrawlerRunConfig( + simulate_user=True, + override_navigator=True, + mean_delay=2.0, + max_range=1.0, + user_agent_mode="random" +) +``` + +**📖 Learn more:** [Complete Parameter Reference](https://docs.crawl4ai.com/api/parameters/), [Content Filtering](https://docs.crawl4ai.com/core/markdown-generation/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Network Capture](https://docs.crawl4ai.com/advanced/network-console-capture/) +--- + + +## Extraction Strategies + +Powerful data extraction from web pages using LLM-based intelligent parsing or fast schema/pattern-based approaches. + +### LLM-Based Extraction - Intelligent Content Understanding + +```python +import os +import asyncio +import json +from pydantic import BaseModel, Field +from typing import List +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, LLMConfig +from crawl4ai.extraction_strategy import LLMExtractionStrategy + +# Define structured data model +class Product(BaseModel): + name: str = Field(description="Product name") + price: str = Field(description="Product price") + description: str = Field(description="Product description") + features: List[str] = Field(description="List of product features") + rating: float = Field(description="Product rating out of 5") + +# Configure LLM provider +llm_config = LLMConfig( + provider="openai/gpt-4o-mini", # or "ollama/llama3.3", "anthropic/claude-3-5-sonnet" + api_token=os.getenv("OPENAI_API_KEY"), # or "env:OPENAI_API_KEY" + temperature=0.1, + max_tokens=2000 +) + +# Create LLM extraction strategy +llm_strategy = LLMExtractionStrategy( + llm_config=llm_config, + schema=Product.model_json_schema(), + extraction_type="schema", # or "block" for freeform text + instruction=""" + Extract product information from the webpage content. + Focus on finding complete product details including: + - Product name and price + - Detailed description + - All listed features + - Customer rating if available + Return valid JSON array of products. + """, + chunk_token_threshold=1200, # Split content if too large + overlap_rate=0.1, # 10% overlap between chunks + apply_chunking=True, # Enable automatic chunking + input_format="markdown", # "html", "fit_markdown", or "markdown" + extra_args={"temperature": 0.0, "max_tokens": 800}, + verbose=True +) + +async def extract_with_llm(): + browser_config = BrowserConfig(headless=True) + + crawl_config = CrawlerRunConfig( + extraction_strategy=llm_strategy, + cache_mode=CacheMode.BYPASS, + word_count_threshold=10 + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun( + url="https://example.com/products", + config=crawl_config + ) + + if result.success: + # Parse extracted JSON + products = json.loads(result.extracted_content) + print(f"Extracted {len(products)} products") + + for product in products[:3]: # Show first 3 + print(f"Product: {product['name']}") + print(f"Price: {product['price']}") + print(f"Rating: {product.get('rating', 'N/A')}") + + # Show token usage and cost + llm_strategy.show_usage() + else: + print(f"Extraction failed: {result.error_message}") + +asyncio.run(extract_with_llm()) +``` + +### LLM Strategy Advanced Configuration + +```python +# Multiple provider configurations +providers = { + "openai": LLMConfig( + provider="openai/gpt-4o", + api_token="env:OPENAI_API_KEY", + temperature=0.1 + ), + "anthropic": LLMConfig( + provider="anthropic/claude-3-5-sonnet-20240620", + api_token="env:ANTHROPIC_API_KEY", + max_tokens=4000 + ), + "ollama": LLMConfig( + provider="ollama/llama3.3", + api_token=None, # Not needed for Ollama + base_url="http://localhost:11434" + ), + "groq": LLMConfig( + provider="groq/llama3-70b-8192", + api_token="env:GROQ_API_KEY" + ) +} + +# Advanced chunking for large content +large_content_strategy = LLMExtractionStrategy( + llm_config=providers["openai"], + schema=YourModel.model_json_schema(), + extraction_type="schema", + instruction="Extract detailed information...", + + # Chunking parameters + chunk_token_threshold=2000, # Larger chunks for complex content + overlap_rate=0.15, # More overlap for context preservation + apply_chunking=True, + + # Input format selection + input_format="fit_markdown", # Use filtered content if available + + # LLM parameters + extra_args={ + "temperature": 0.0, # Deterministic output + "top_p": 0.9, + "frequency_penalty": 0.1, + "presence_penalty": 0.1, + "max_tokens": 1500 + }, + verbose=True +) + +# Knowledge graph extraction +class Entity(BaseModel): + name: str + type: str # "person", "organization", "location", etc. + description: str + +class Relationship(BaseModel): + source: str + target: str + relationship: str + confidence: float + +class KnowledgeGraph(BaseModel): + entities: List[Entity] + relationships: List[Relationship] + summary: str + +knowledge_strategy = LLMExtractionStrategy( + llm_config=providers["anthropic"], + schema=KnowledgeGraph.model_json_schema(), + extraction_type="schema", + instruction=""" + Create a knowledge graph from the content by: + 1. Identifying key entities (people, organizations, locations, concepts) + 2. Finding relationships between entities + 3. Providing confidence scores for relationships + 4. Summarizing the main topics + """, + input_format="html", # Use HTML for better structure preservation + apply_chunking=True, + chunk_token_threshold=1500 +) +``` + +### JSON CSS Extraction - Fast Schema-Based Extraction + +```python +import asyncio +import json +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode +from crawl4ai.extraction_strategy import JsonCssExtractionStrategy + +# Basic CSS extraction schema +simple_schema = { + "name": "Product Listings", + "baseSelector": "div.product-card", + "fields": [ + { + "name": "title", + "selector": "h2.product-title", + "type": "text" + }, + { + "name": "price", + "selector": ".price", + "type": "text" + }, + { + "name": "image_url", + "selector": "img.product-image", + "type": "attribute", + "attribute": "src" + }, + { + "name": "product_url", + "selector": "a.product-link", + "type": "attribute", + "attribute": "href" + } + ] +} + +# Complex nested schema with multiple data types +complex_schema = { + "name": "E-commerce Product Catalog", + "baseSelector": "div.category", + "baseFields": [ + { + "name": "category_id", + "type": "attribute", + "attribute": "data-category-id" + }, + { + "name": "category_url", + "type": "attribute", + "attribute": "data-url" + } + ], + "fields": [ + { + "name": "category_name", + "selector": "h2.category-title", + "type": "text" + }, + { + "name": "products", + "selector": "div.product", + "type": "nested_list", # Array of complex objects + "fields": [ + { + "name": "name", + "selector": "h3.product-name", + "type": "text", + "default": "Unknown Product" + }, + { + "name": "price", + "selector": "span.price", + "type": "text" + }, + { + "name": "details", + "selector": "div.product-details", + "type": "nested", # Single complex object + "fields": [ + { + "name": "brand", + "selector": "span.brand", + "type": "text" + }, + { + "name": "model", + "selector": "span.model", + "type": "text" + }, + { + "name": "specs", + "selector": "div.specifications", + "type": "html" # Preserve HTML structure + } + ] + }, + { + "name": "features", + "selector": "ul.features li", + "type": "list", # Simple array of strings + "fields": [ + {"name": "feature", "type": "text"} + ] + }, + { + "name": "reviews", + "selector": "div.review", + "type": "nested_list", + "fields": [ + { + "name": "reviewer", + "selector": "span.reviewer-name", + "type": "text" + }, + { + "name": "rating", + "selector": "span.rating", + "type": "attribute", + "attribute": "data-rating" + }, + { + "name": "comment", + "selector": "p.review-text", + "type": "text" + }, + { + "name": "date", + "selector": "time.review-date", + "type": "attribute", + "attribute": "datetime" + } + ] + } + ] + } + ] +} + +async def extract_with_css_schema(): + strategy = JsonCssExtractionStrategy(complex_schema, verbose=True) + + config = CrawlerRunConfig( + extraction_strategy=strategy, + cache_mode=CacheMode.BYPASS, + # Enable dynamic content loading if needed + js_code="window.scrollTo(0, document.body.scrollHeight);", + wait_for="css:.product:nth-child(10)", # Wait for products to load + process_iframes=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun( + url="https://example.com/catalog", + config=config + ) + + if result.success: + data = json.loads(result.extracted_content) + print(f"Extracted {len(data)} categories") + + for category in data: + print(f"Category: {category['category_name']}") + print(f"Products: {len(category.get('products', []))}") + + # Show first product details + if category.get('products'): + product = category['products'][0] + print(f" First product: {product.get('name')}") + print(f" Features: {len(product.get('features', []))}") + print(f" Reviews: {len(product.get('reviews', []))}") + +asyncio.run(extract_with_css_schema()) +``` + +### Automatic Schema Generation - One-Time LLM, Unlimited Use + +```python +import json +import asyncio +from pathlib import Path +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, LLMConfig +from crawl4ai.extraction_strategy import JsonCssExtractionStrategy + +async def generate_and_use_schema(): + """ + 1. Use LLM once to generate schema from sample HTML + 2. Cache the schema for reuse + 3. Use cached schema for fast extraction without LLM calls + """ + + cache_dir = Path("./schema_cache") + cache_dir.mkdir(exist_ok=True) + schema_file = cache_dir / "ecommerce_schema.json" + + # Step 1: Generate or load cached schema + if schema_file.exists(): + schema = json.load(schema_file.open()) + print("Using cached schema") + else: + print("Generating schema using LLM...") + + # Configure LLM for schema generation + llm_config = LLMConfig( + provider="openai/gpt-4o", # or "ollama/llama3.3" for local + api_token="env:OPENAI_API_KEY" + ) + + # Get sample HTML from target site + async with AsyncWebCrawler() as crawler: + sample_result = await crawler.arun( + url="https://example.com/products", + config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS) + ) + sample_html = sample_result.cleaned_html[:5000] # Use first 5k chars + + # Generate schema automatically (ONE-TIME LLM COST) + schema = JsonCssExtractionStrategy.generate_schema( + html=sample_html, + schema_type="css", + llm_config=llm_config, + instruction="Extract product information including name, price, description, and features" + ) + + # Cache schema for future use (NO MORE LLM CALLS) + json.dump(schema, schema_file.open("w"), indent=2) + print("Schema generated and cached") + + # Step 2: Use schema for fast extraction (NO LLM CALLS) + strategy = JsonCssExtractionStrategy(schema, verbose=True) + + config = CrawlerRunConfig( + extraction_strategy=strategy, + cache_mode=CacheMode.BYPASS + ) + + # Step 3: Extract from multiple pages using same schema + urls = [ + "https://example.com/products", + "https://example.com/electronics", + "https://example.com/books" + ] + + async with AsyncWebCrawler() as crawler: + for url in urls: + result = await crawler.arun(url=url, config=config) + + if result.success: + data = json.loads(result.extracted_content) + print(f"{url}: Extracted {len(data)} items") + else: + print(f"{url}: Failed - {result.error_message}") + +asyncio.run(generate_and_use_schema()) +``` + +### XPath Extraction Strategy + +```python +from crawl4ai.extraction_strategy import JsonXPathExtractionStrategy + +# XPath-based schema (alternative to CSS) +xpath_schema = { + "name": "News Articles", + "baseSelector": "//article[@class='news-item']", + "baseFields": [ + { + "name": "article_id", + "type": "attribute", + "attribute": "data-id" + } + ], + "fields": [ + { + "name": "headline", + "selector": ".//h2[@class='headline']", + "type": "text" + }, + { + "name": "author", + "selector": ".//span[@class='author']/text()", + "type": "text" + }, + { + "name": "publish_date", + "selector": ".//time/@datetime", + "type": "text" + }, + { + "name": "content", + "selector": ".//div[@class='article-body']", + "type": "html" + }, + { + "name": "tags", + "selector": ".//div[@class='tags']/span[@class='tag']", + "type": "list", + "fields": [ + {"name": "tag", "type": "text"} + ] + } + ] +} + +# Generate XPath schema automatically +async def generate_xpath_schema(): + llm_config = LLMConfig(provider="ollama/llama3.3", api_token=None) + + sample_html = """ +
+

Breaking News

+ John Doe + +

Content here...

+
+ """ + + schema = JsonXPathExtractionStrategy.generate_schema( + html=sample_html, + schema_type="xpath", + llm_config=llm_config + ) + + return schema + +# Use XPath strategy +xpath_strategy = JsonXPathExtractionStrategy(xpath_schema, verbose=True) +``` + +### Regex Extraction Strategy - Pattern-Based Fast Extraction + +```python +from crawl4ai.extraction_strategy import RegexExtractionStrategy + +# Built-in patterns for common data types +async def extract_with_builtin_patterns(): + # Use multiple built-in patterns + strategy = RegexExtractionStrategy( + pattern=( + RegexExtractionStrategy.Email | + RegexExtractionStrategy.PhoneUS | + RegexExtractionStrategy.Url | + RegexExtractionStrategy.Currency | + RegexExtractionStrategy.DateIso + ) + ) + + config = CrawlerRunConfig(extraction_strategy=strategy) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun( + url="https://example.com/contact", + config=config + ) + + if result.success: + matches = json.loads(result.extracted_content) + + # Group by pattern type + by_type = {} + for match in matches: + label = match['label'] + if label not in by_type: + by_type[label] = [] + by_type[label].append(match['value']) + + for pattern_type, values in by_type.items(): + print(f"{pattern_type}: {len(values)} matches") + for value in values[:3]: # Show first 3 + print(f" {value}") + +# Custom regex patterns +custom_patterns = { + "product_code": r"SKU-\d{4,6}", + "discount": r"\d{1,2}%\s*off", + "model_number": r"Model:\s*([A-Z0-9-]+)" +} + +async def extract_with_custom_patterns(): + strategy = RegexExtractionStrategy(custom=custom_patterns) + + config = CrawlerRunConfig(extraction_strategy=strategy) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun( + url="https://example.com/products", + config=config + ) + + if result.success: + data = json.loads(result.extracted_content) + for item in data: + print(f"{item['label']}: {item['value']}") + +# LLM-generated patterns (one-time cost) +async def generate_custom_patterns(): + cache_file = Path("./patterns/price_patterns.json") + + if cache_file.exists(): + patterns = json.load(cache_file.open()) + else: + llm_config = LLMConfig( + provider="openai/gpt-4o-mini", + api_token="env:OPENAI_API_KEY" + ) + + # Get sample content + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com/pricing") + sample_html = result.cleaned_html + + # Generate optimized patterns + patterns = RegexExtractionStrategy.generate_pattern( + label="pricing_info", + html=sample_html, + query="Extract all pricing information including discounts and special offers", + llm_config=llm_config + ) + + # Cache for reuse + cache_file.parent.mkdir(exist_ok=True) + json.dump(patterns, cache_file.open("w"), indent=2) + + # Use cached patterns (no more LLM calls) + strategy = RegexExtractionStrategy(custom=patterns) + return strategy + +asyncio.run(extract_with_builtin_patterns()) +asyncio.run(extract_with_custom_patterns()) +``` + +### Complete Extraction Workflow - Combining Strategies + +```python +import asyncio +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig +from crawl4ai.extraction_strategy import ( + JsonCssExtractionStrategy, + RegexExtractionStrategy, + LLMExtractionStrategy +) + +async def multi_strategy_extraction(): + """ + Demonstrate using multiple extraction strategies in sequence: + 1. Fast regex for common patterns + 2. Schema-based for structured data + 3. LLM for complex reasoning + """ + + browser_config = BrowserConfig(headless=True) + + # Strategy 1: Fast regex extraction + regex_strategy = RegexExtractionStrategy( + pattern=RegexExtractionStrategy.Email | RegexExtractionStrategy.PhoneUS + ) + + # Strategy 2: Schema-based structured extraction + product_schema = { + "name": "Products", + "baseSelector": "div.product", + "fields": [ + {"name": "name", "selector": "h3", "type": "text"}, + {"name": "price", "selector": ".price", "type": "text"}, + {"name": "rating", "selector": ".rating", "type": "attribute", "attribute": "data-rating"} + ] + } + css_strategy = JsonCssExtractionStrategy(product_schema) + + # Strategy 3: LLM for complex analysis + llm_strategy = LLMExtractionStrategy( + llm_config=LLMConfig(provider="openai/gpt-4o-mini", api_token="env:OPENAI_API_KEY"), + schema={ + "type": "object", + "properties": { + "sentiment": {"type": "string"}, + "key_topics": {"type": "array", "items": {"type": "string"}}, + "summary": {"type": "string"} + } + }, + extraction_type="schema", + instruction="Analyze the content sentiment, extract key topics, and provide a summary" + ) + + url = "https://example.com/product-reviews" + + async with AsyncWebCrawler(config=browser_config) as crawler: + # Extract contact info with regex + regex_config = CrawlerRunConfig(extraction_strategy=regex_strategy) + regex_result = await crawler.arun(url=url, config=regex_config) + + # Extract structured product data + css_config = CrawlerRunConfig(extraction_strategy=css_strategy) + css_result = await crawler.arun(url=url, config=css_config) + + # Extract insights with LLM + llm_config = CrawlerRunConfig(extraction_strategy=llm_strategy) + llm_result = await crawler.arun(url=url, config=llm_config) + + # Combine results + results = { + "contacts": json.loads(regex_result.extracted_content) if regex_result.success else [], + "products": json.loads(css_result.extracted_content) if css_result.success else [], + "analysis": json.loads(llm_result.extracted_content) if llm_result.success else {} + } + + print(f"Found {len(results['contacts'])} contact entries") + print(f"Found {len(results['products'])} products") + print(f"Sentiment: {results['analysis'].get('sentiment', 'N/A')}") + + return results + +# Performance comparison +async def compare_extraction_performance(): + """Compare speed and accuracy of different strategies""" + import time + + url = "https://example.com/large-catalog" + + strategies = { + "regex": RegexExtractionStrategy(pattern=RegexExtractionStrategy.Currency), + "css": JsonCssExtractionStrategy({ + "name": "Prices", + "baseSelector": ".price", + "fields": [{"name": "amount", "selector": "span", "type": "text"}] + }), + "llm": LLMExtractionStrategy( + llm_config=LLMConfig(provider="openai/gpt-4o-mini", api_token="env:OPENAI_API_KEY"), + instruction="Extract all prices from the content", + extraction_type="block" + ) + } + + async with AsyncWebCrawler() as crawler: + for name, strategy in strategies.items(): + start_time = time.time() + + config = CrawlerRunConfig(extraction_strategy=strategy) + result = await crawler.arun(url=url, config=config) + + duration = time.time() - start_time + + if result.success: + data = json.loads(result.extracted_content) + print(f"{name}: {len(data)} items in {duration:.2f}s") + else: + print(f"{name}: Failed in {duration:.2f}s") + +asyncio.run(multi_strategy_extraction()) +asyncio.run(compare_extraction_performance()) +``` + +### Best Practices and Strategy Selection + +```python +# Strategy selection guide +def choose_extraction_strategy(use_case): + """ + Guide for selecting the right extraction strategy + """ + + strategies = { + # Fast pattern matching for common data types + "contact_info": RegexExtractionStrategy( + pattern=RegexExtractionStrategy.Email | RegexExtractionStrategy.PhoneUS + ), + + # Structured data from consistent HTML + "product_catalogs": JsonCssExtractionStrategy, + + # Complex reasoning and semantic understanding + "content_analysis": LLMExtractionStrategy, + + # Mixed approach for comprehensive extraction + "complete_site_analysis": "multi_strategy" + } + + recommendations = { + "speed_priority": "Use RegexExtractionStrategy for simple patterns, JsonCssExtractionStrategy for structured data", + "accuracy_priority": "Use LLMExtractionStrategy for complex content, JsonCssExtractionStrategy for predictable structure", + "cost_priority": "Avoid LLM strategies, use schema generation once then JsonCssExtractionStrategy", + "scale_priority": "Cache schemas, use regex for simple patterns, avoid LLM for high-volume extraction" + } + + return recommendations.get(use_case, "Combine strategies based on content complexity") + +# Error handling and validation +async def robust_extraction(): + strategies = [ + RegexExtractionStrategy(pattern=RegexExtractionStrategy.Email), + JsonCssExtractionStrategy(simple_schema), + # LLM as fallback for complex cases + ] + + async with AsyncWebCrawler() as crawler: + for strategy in strategies: + try: + config = CrawlerRunConfig(extraction_strategy=strategy) + result = await crawler.arun(url="https://example.com", config=config) + + if result.success and result.extracted_content: + data = json.loads(result.extracted_content) + if data: # Validate non-empty results + print(f"Success with {strategy.__class__.__name__}") + return data + + except Exception as e: + print(f"Strategy {strategy.__class__.__name__} failed: {e}") + continue + + print("All strategies failed") + return None +``` + +**📖 Learn more:** [LLM Strategies Deep Dive](https://docs.crawl4ai.com/extraction/llm-strategies/), [Schema-Based Extraction](https://docs.crawl4ai.com/extraction/no-llm-strategies/), [Regex Patterns](https://docs.crawl4ai.com/extraction/no-llm-strategies/#regexextractionstrategy), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/) +--- + + +## Multi-URL Crawling + +Concurrent crawling of multiple URLs with intelligent resource management, rate limiting, and real-time monitoring. + +### Basic Multi-URL Crawling + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode + +# Batch processing (default) - get all results at once +async def batch_crawl(): + urls = [ + "https://example.com/page1", + "https://example.com/page2", + "https://example.com/page3" + ] + + config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + stream=False # Default: batch mode + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many(urls, config=config) + + for result in results: + if result.success: + print(f"✅ {result.url}: {len(result.markdown)} chars") + else: + print(f"❌ {result.url}: {result.error_message}") + +# Streaming processing - handle results as they complete +async def streaming_crawl(): + config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + stream=True # Enable streaming + ) + + async with AsyncWebCrawler() as crawler: + # Process results as they become available + async for result in await crawler.arun_many(urls, config=config): + if result.success: + print(f"🔥 Just completed: {result.url}") + await process_result_immediately(result) + else: + print(f"❌ Failed: {result.url}") +``` + +### Memory-Adaptive Dispatching + +```python +from crawl4ai import AsyncWebCrawler, MemoryAdaptiveDispatcher, CrawlerMonitor, DisplayMode + +# Automatically manages concurrency based on system memory +async def memory_adaptive_crawl(): + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=80.0, # Pause if memory exceeds 80% + check_interval=1.0, # Check memory every second + max_session_permit=15, # Max concurrent tasks + memory_wait_timeout=300.0 # Wait up to 5 minutes for memory + ) + + config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + word_count_threshold=50 + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many( + urls=large_url_list, + config=config, + dispatcher=dispatcher + ) + + # Each result includes dispatch information + for result in results: + if result.dispatch_result: + dr = result.dispatch_result + print(f"Memory used: {dr.memory_usage:.1f}MB") + print(f"Duration: {dr.end_time - dr.start_time}") +``` + +### Rate-Limited Crawling + +```python +from crawl4ai import RateLimiter, SemaphoreDispatcher + +# Control request pacing and handle server rate limits +async def rate_limited_crawl(): + rate_limiter = RateLimiter( + base_delay=(1.0, 3.0), # Random delay 1-3 seconds + max_delay=60.0, # Cap backoff at 60 seconds + max_retries=3, # Retry failed requests 3 times + rate_limit_codes=[429, 503] # Handle these status codes + ) + + dispatcher = SemaphoreDispatcher( + max_session_permit=5, # Fixed concurrency limit + rate_limiter=rate_limiter + ) + + config = CrawlerRunConfig( + user_agent_mode="random", # Randomize user agents + simulate_user=True # Simulate human behavior + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun_many( + urls=urls, + config=config, + dispatcher=dispatcher + ): + print(f"Processed: {result.url}") +``` + +### Real-Time Monitoring + +```python +from crawl4ai import CrawlerMonitor, DisplayMode + +# Monitor crawling progress in real-time +async def monitored_crawl(): + monitor = CrawlerMonitor( + max_visible_rows=20, # Show 20 tasks in display + display_mode=DisplayMode.DETAILED # Show individual task details + ) + + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=75.0, + max_session_permit=10, + monitor=monitor # Attach monitor to dispatcher + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many( + urls=urls, + dispatcher=dispatcher + ) +``` + +### Advanced Dispatcher Configurations + +```python +# Memory-adaptive with comprehensive monitoring +memory_dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=85.0, # Higher memory tolerance + check_interval=0.5, # Check memory more frequently + max_session_permit=20, # More concurrent tasks + memory_wait_timeout=600.0, # Wait longer for memory + rate_limiter=RateLimiter( + base_delay=(0.5, 1.5), + max_delay=30.0, + max_retries=5 + ), + monitor=CrawlerMonitor( + max_visible_rows=15, + display_mode=DisplayMode.AGGREGATED # Summary view + ) +) + +# Simple semaphore-based dispatcher +semaphore_dispatcher = SemaphoreDispatcher( + max_session_permit=8, # Fixed concurrency + rate_limiter=RateLimiter( + base_delay=(1.0, 2.0), + max_delay=20.0 + ) +) + +# Usage with custom dispatcher +async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many( + urls=urls, + config=config, + dispatcher=memory_dispatcher # or semaphore_dispatcher + ) +``` + +### Handling Large-Scale Crawling + +```python +async def large_scale_crawl(): + # For thousands of URLs + urls = load_urls_from_file("large_url_list.txt") # 10,000+ URLs + + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=70.0, # Conservative memory usage + max_session_permit=25, # Higher concurrency + rate_limiter=RateLimiter( + base_delay=(0.1, 0.5), # Faster for large batches + max_retries=2 # Fewer retries for speed + ), + monitor=CrawlerMonitor(display_mode=DisplayMode.AGGREGATED) + ) + + config = CrawlerRunConfig( + cache_mode=CacheMode.ENABLED, # Use caching for efficiency + stream=True, # Stream for memory efficiency + word_count_threshold=100, # Skip short content + exclude_external_links=True # Reduce processing overhead + ) + + successful_crawls = 0 + failed_crawls = 0 + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun_many( + urls=urls, + config=config, + dispatcher=dispatcher + ): + if result.success: + successful_crawls += 1 + await save_result_to_database(result) + else: + failed_crawls += 1 + await log_failure(result.url, result.error_message) + + # Progress reporting + if (successful_crawls + failed_crawls) % 100 == 0: + print(f"Progress: {successful_crawls + failed_crawls}/{len(urls)}") + + print(f"Completed: {successful_crawls} successful, {failed_crawls} failed") +``` + +### Robots.txt Compliance + +```python +async def compliant_crawl(): + config = CrawlerRunConfig( + check_robots_txt=True, # Respect robots.txt + user_agent="MyBot/1.0", # Identify your bot + mean_delay=2.0, # Be polite with delays + max_range=1.0 + ) + + dispatcher = SemaphoreDispatcher( + max_session_permit=3, # Conservative concurrency + rate_limiter=RateLimiter( + base_delay=(2.0, 5.0), # Slower, more respectful + max_retries=1 + ) + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun_many( + urls=urls, + config=config, + dispatcher=dispatcher + ): + if result.success: + print(f"✅ Crawled: {result.url}") + elif "robots.txt" in result.error_message: + print(f"🚫 Blocked by robots.txt: {result.url}") + else: + print(f"❌ Error: {result.url}") +``` + +### Performance Analysis + +```python +async def analyze_crawl_performance(): + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=80.0, + max_session_permit=12, + monitor=CrawlerMonitor(display_mode=DisplayMode.DETAILED) + ) + + start_time = time.time() + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many( + urls=urls, + dispatcher=dispatcher + ) + + end_time = time.time() + + # Analyze results + successful = [r for r in results if r.success] + failed = [r for r in results if not r.success] + + print(f"Total time: {end_time - start_time:.2f}s") + print(f"Success rate: {len(successful)}/{len(results)} ({len(successful)/len(results)*100:.1f}%)") + print(f"Avg time per URL: {(end_time - start_time)/len(results):.2f}s") + + # Memory usage analysis + if successful and successful[0].dispatch_result: + memory_usage = [r.dispatch_result.memory_usage for r in successful if r.dispatch_result] + peak_memory = [r.dispatch_result.peak_memory for r in successful if r.dispatch_result] + + print(f"Avg memory usage: {sum(memory_usage)/len(memory_usage):.1f}MB") + print(f"Peak memory usage: {max(peak_memory):.1f}MB") +``` + +### Error Handling and Recovery + +```python +async def robust_multi_crawl(): + failed_urls = [] + + config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + stream=True, + page_timeout=30000 # 30 second timeout + ) + + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=85.0, + max_session_permit=10 + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun_many( + urls=urls, + config=config, + dispatcher=dispatcher + ): + if result.success: + await process_successful_result(result) + else: + failed_urls.append({ + 'url': result.url, + 'error': result.error_message, + 'status_code': result.status_code + }) + + # Retry logic for specific errors + if result.status_code in [503, 429]: # Server errors + await schedule_retry(result.url) + + # Report failures + if failed_urls: + print(f"Failed to crawl {len(failed_urls)} URLs:") + for failure in failed_urls[:10]: # Show first 10 + print(f" {failure['url']}: {failure['error']}") +``` + +**📖 Learn more:** [Advanced Multi-URL Crawling](https://docs.crawl4ai.com/advanced/multi-url-crawling/), [Crawl Dispatcher](https://docs.crawl4ai.com/advanced/crawl-dispatcher/), [arun_many() API Reference](https://docs.crawl4ai.com/api/arun_many/) +--- + + +## Deep Crawling + +Multi-level website exploration with intelligent filtering, scoring, and prioritization strategies. + +### Basic Deep Crawl Setup + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig +from crawl4ai.deep_crawling import BFSDeepCrawlStrategy +from crawl4ai.content_scraping_strategy import LXMLWebScrapingStrategy + +# Basic breadth-first deep crawling +async def basic_deep_crawl(): + config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=2, # Initial page + 2 levels + include_external=False # Stay within same domain + ), + scraping_strategy=LXMLWebScrapingStrategy(), + verbose=True + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun("https://docs.crawl4ai.com", config=config) + + # Group results by depth + pages_by_depth = {} + for result in results: + depth = result.metadata.get("depth", 0) + if depth not in pages_by_depth: + pages_by_depth[depth] = [] + pages_by_depth[depth].append(result.url) + + print(f"Crawled {len(results)} pages total") + for depth, urls in sorted(pages_by_depth.items()): + print(f"Depth {depth}: {len(urls)} pages") +``` + +### Deep Crawl Strategies + +```python +from crawl4ai.deep_crawling import BFSDeepCrawlStrategy, DFSDeepCrawlStrategy, BestFirstCrawlingStrategy +from crawl4ai.deep_crawling.scorers import KeywordRelevanceScorer + +# Breadth-First Search - explores all links at one depth before going deeper +bfs_strategy = BFSDeepCrawlStrategy( + max_depth=2, + include_external=False, + max_pages=50, # Limit total pages + score_threshold=0.3 # Minimum score for URLs +) + +# Depth-First Search - explores as deep as possible before backtracking +dfs_strategy = DFSDeepCrawlStrategy( + max_depth=2, + include_external=False, + max_pages=30, + score_threshold=0.5 +) + +# Best-First - prioritizes highest scoring pages (recommended) +keyword_scorer = KeywordRelevanceScorer( + keywords=["crawl", "example", "async", "configuration"], + weight=0.7 +) + +best_first_strategy = BestFirstCrawlingStrategy( + max_depth=2, + include_external=False, + url_scorer=keyword_scorer, + max_pages=25 # No score_threshold needed - naturally prioritizes +) + +# Usage +config = CrawlerRunConfig( + deep_crawl_strategy=best_first_strategy, # Choose your strategy + scraping_strategy=LXMLWebScrapingStrategy() +) +``` + +### Streaming vs Batch Processing + +```python +# Batch mode - wait for all results +async def batch_deep_crawl(): + config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy(max_depth=1), + stream=False # Default - collect all results first + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun("https://example.com", config=config) + + # Process all results at once + for result in results: + print(f"Batch processed: {result.url}") + +# Streaming mode - process results as they arrive +async def streaming_deep_crawl(): + config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy(max_depth=1), + stream=True # Process results immediately + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun("https://example.com", config=config): + depth = result.metadata.get("depth", 0) + print(f"Stream processed depth {depth}: {result.url}") +``` + +### Filtering with Filter Chains + +```python +from crawl4ai.deep_crawling.filters import ( + FilterChain, + URLPatternFilter, + DomainFilter, + ContentTypeFilter, + SEOFilter, + ContentRelevanceFilter +) + +# Single URL pattern filter +url_filter = URLPatternFilter(patterns=["*core*", "*guide*"]) + +config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=1, + filter_chain=FilterChain([url_filter]) + ) +) + +# Multiple filters in chain +advanced_filter_chain = FilterChain([ + # Domain filtering + DomainFilter( + allowed_domains=["docs.example.com"], + blocked_domains=["old.docs.example.com", "staging.example.com"] + ), + + # URL pattern matching + URLPatternFilter(patterns=["*tutorial*", "*guide*", "*blog*"]), + + # Content type filtering + ContentTypeFilter(allowed_types=["text/html"]), + + # SEO quality filter + SEOFilter( + threshold=0.5, + keywords=["tutorial", "guide", "documentation"] + ), + + # Content relevance filter + ContentRelevanceFilter( + query="Web crawling and data extraction with Python", + threshold=0.7 + ) +]) + +config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=2, + filter_chain=advanced_filter_chain + ) +) +``` + +### Intelligent Crawling with Scorers + +```python +from crawl4ai.deep_crawling.scorers import KeywordRelevanceScorer + +# Keyword relevance scoring +async def scored_deep_crawl(): + keyword_scorer = KeywordRelevanceScorer( + keywords=["browser", "crawler", "web", "automation"], + weight=1.0 + ) + + config = CrawlerRunConfig( + deep_crawl_strategy=BestFirstCrawlingStrategy( + max_depth=2, + include_external=False, + url_scorer=keyword_scorer + ), + stream=True, # Recommended with BestFirst + verbose=True + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun("https://docs.crawl4ai.com", config=config): + score = result.metadata.get("score", 0) + depth = result.metadata.get("depth", 0) + print(f"Depth: {depth} | Score: {score:.2f} | {result.url}") +``` + +### Limiting Crawl Size + +```python +# Max pages limitation across strategies +async def limited_crawls(): + # BFS with page limit + bfs_config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=2, + max_pages=5, # Only crawl 5 pages total + url_scorer=KeywordRelevanceScorer(keywords=["browser", "crawler"], weight=1.0) + ) + ) + + # DFS with score threshold + dfs_config = CrawlerRunConfig( + deep_crawl_strategy=DFSDeepCrawlStrategy( + max_depth=2, + score_threshold=0.7, # Only URLs with scores above 0.7 + max_pages=10, + url_scorer=KeywordRelevanceScorer(keywords=["web", "automation"], weight=1.0) + ) + ) + + # Best-First with both constraints + bf_config = CrawlerRunConfig( + deep_crawl_strategy=BestFirstCrawlingStrategy( + max_depth=2, + max_pages=7, # Automatically gets highest scored pages + url_scorer=KeywordRelevanceScorer(keywords=["crawl", "example"], weight=1.0) + ), + stream=True + ) + + async with AsyncWebCrawler() as crawler: + # Use any of the configs + async for result in await crawler.arun("https://docs.crawl4ai.com", config=bf_config): + score = result.metadata.get("score", 0) + print(f"Score: {score:.2f} | {result.url}") +``` + +### Complete Advanced Deep Crawler + +```python +async def comprehensive_deep_crawl(): + # Sophisticated filter chain + filter_chain = FilterChain([ + DomainFilter( + allowed_domains=["docs.crawl4ai.com"], + blocked_domains=["old.docs.crawl4ai.com"] + ), + URLPatternFilter(patterns=["*core*", "*advanced*", "*blog*"]), + ContentTypeFilter(allowed_types=["text/html"]), + SEOFilter(threshold=0.4, keywords=["crawl", "tutorial", "guide"]) + ]) + + # Multi-keyword scorer + keyword_scorer = KeywordRelevanceScorer( + keywords=["crawl", "example", "async", "configuration", "browser"], + weight=0.8 + ) + + # Complete configuration + config = CrawlerRunConfig( + deep_crawl_strategy=BestFirstCrawlingStrategy( + max_depth=2, + include_external=False, + filter_chain=filter_chain, + url_scorer=keyword_scorer, + max_pages=20 + ), + scraping_strategy=LXMLWebScrapingStrategy(), + stream=True, + verbose=True, + cache_mode=CacheMode.BYPASS + ) + + # Execute and analyze + results = [] + start_time = time.time() + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun("https://docs.crawl4ai.com", config=config): + results.append(result) + score = result.metadata.get("score", 0) + depth = result.metadata.get("depth", 0) + print(f"→ Depth: {depth} | Score: {score:.2f} | {result.url}") + + # Performance analysis + duration = time.time() - start_time + avg_score = sum(r.metadata.get('score', 0) for r in results) / len(results) + + print(f"✅ Crawled {len(results)} pages in {duration:.2f}s") + print(f"✅ Average relevance score: {avg_score:.2f}") + + # Depth distribution + depth_counts = {} + for result in results: + depth = result.metadata.get("depth", 0) + depth_counts[depth] = depth_counts.get(depth, 0) + 1 + + for depth, count in sorted(depth_counts.items()): + print(f"📊 Depth {depth}: {count} pages") +``` + +### Error Handling and Robustness + +```python +async def robust_deep_crawl(): + config = CrawlerRunConfig( + deep_crawl_strategy=BestFirstCrawlingStrategy( + max_depth=2, + max_pages=15, + url_scorer=KeywordRelevanceScorer(keywords=["guide", "tutorial"]) + ), + stream=True, + page_timeout=30000 # 30 second timeout per page + ) + + successful_pages = [] + failed_pages = [] + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun("https://docs.crawl4ai.com", config=config): + if result.success: + successful_pages.append(result) + depth = result.metadata.get("depth", 0) + score = result.metadata.get("score", 0) + print(f"✅ Depth {depth} | Score: {score:.2f} | {result.url}") + else: + failed_pages.append({ + 'url': result.url, + 'error': result.error_message, + 'depth': result.metadata.get("depth", 0) + }) + print(f"❌ Failed: {result.url} - {result.error_message}") + + print(f"📊 Results: {len(successful_pages)} successful, {len(failed_pages)} failed") + + # Analyze failures by depth + if failed_pages: + failure_by_depth = {} + for failure in failed_pages: + depth = failure['depth'] + failure_by_depth[depth] = failure_by_depth.get(depth, 0) + 1 + + print("❌ Failures by depth:") + for depth, count in sorted(failure_by_depth.items()): + print(f" Depth {depth}: {count} failures") +``` + +**📖 Learn more:** [Deep Crawling Guide](https://docs.crawl4ai.com/core/deep-crawling/), [Filter Documentation](https://docs.crawl4ai.com/core/content-selection/), [Scoring Strategies](https://docs.crawl4ai.com/advanced/advanced-features/) +--- + + +## Docker Deployment + +Complete Docker deployment guide with pre-built images, API endpoints, configuration, and MCP integration. + +### Quick Start with Pre-built Images + +```bash +# Pull latest image +docker pull unclecode/crawl4ai:latest + +# Setup LLM API keys +cat > .llm.env << EOL +OPENAI_API_KEY=sk-your-key +ANTHROPIC_API_KEY=your-anthropic-key +GROQ_API_KEY=your-groq-key +GEMINI_API_TOKEN=your-gemini-token +EOL + +# Run with LLM support +docker run -d \ + -p 11235:11235 \ + --name crawl4ai \ + --env-file .llm.env \ + --shm-size=1g \ + unclecode/crawl4ai:latest + +# Basic run (no LLM) +docker run -d \ + -p 11235:11235 \ + --name crawl4ai \ + --shm-size=1g \ + unclecode/crawl4ai:latest + +# Check health +curl http://localhost:11235/health +``` + +### Docker Compose Deployment + +```bash +# Clone and setup +git clone https://github.com/unclecode/crawl4ai.git +cd crawl4ai +cp deploy/docker/.llm.env.example .llm.env +# Edit .llm.env with your API keys + +# Run pre-built image +IMAGE=unclecode/crawl4ai:latest docker compose up -d + +# Build locally +docker compose up --build -d + +# Build with all features +INSTALL_TYPE=all docker compose up --build -d + +# Build with GPU support +ENABLE_GPU=true docker compose up --build -d + +# Stop service +docker compose down +``` + +### Manual Build with Multi-Architecture + +```bash +# Clone repository +git clone https://github.com/unclecode/crawl4ai.git +cd crawl4ai + +# Build for current architecture +docker buildx build -t crawl4ai-local:latest --load . + +# Build for multiple architectures +docker buildx build --platform linux/amd64,linux/arm64 \ + -t crawl4ai-local:latest --load . + +# Build with specific features +docker buildx build \ + --build-arg INSTALL_TYPE=all \ + --build-arg ENABLE_GPU=false \ + -t crawl4ai-local:latest --load . + +# Run custom build +docker run -d \ + -p 11235:11235 \ + --name crawl4ai-custom \ + --env-file .llm.env \ + --shm-size=1g \ + crawl4ai-local:latest +``` + +### Build Arguments + +```bash +# Available build options +docker buildx build \ + --build-arg INSTALL_TYPE=all \ # default|all|torch|transformer + --build-arg ENABLE_GPU=true \ # true|false + --build-arg APP_HOME=/app \ # Install path + --build-arg USE_LOCAL=true \ # Use local source + --build-arg GITHUB_REPO=url \ # Git repo if USE_LOCAL=false + --build-arg GITHUB_BRANCH=main \ # Git branch + -t crawl4ai-custom:latest --load . +``` + +### Core API Endpoints + +```python +# Main crawling endpoints +import requests +import json + +# Basic crawl +payload = { + "urls": ["https://example.com"], + "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, + "crawler_config": {"type": "CrawlerRunConfig", "params": {"cache_mode": "bypass"}} +} +response = requests.post("http://localhost:11235/crawl", json=payload) + +# Streaming crawl +payload["crawler_config"]["params"]["stream"] = True +response = requests.post("http://localhost:11235/crawl/stream", json=payload) + +# Health check +response = requests.get("http://localhost:11235/health") + +# API schema +response = requests.get("http://localhost:11235/schema") + +# Metrics (Prometheus format) +response = requests.get("http://localhost:11235/metrics") +``` + +### Specialized Endpoints + +```python +# HTML extraction (preprocessed for schema) +response = requests.post("http://localhost:11235/html", + json={"url": "https://example.com"}) + +# Screenshot capture +response = requests.post("http://localhost:11235/screenshot", json={ + "url": "https://example.com", + "screenshot_wait_for": 2, + "output_path": "/path/to/save/screenshot.png" +}) + +# PDF generation +response = requests.post("http://localhost:11235/pdf", json={ + "url": "https://example.com", + "output_path": "/path/to/save/document.pdf" +}) + +# JavaScript execution +response = requests.post("http://localhost:11235/execute_js", json={ + "url": "https://example.com", + "scripts": [ + "return document.title", + "return Array.from(document.querySelectorAll('a')).map(a => a.href)" + ] +}) + +# Markdown generation +response = requests.post("http://localhost:11235/md", json={ + "url": "https://example.com", + "f": "fit", # raw|fit|bm25|llm + "q": "extract main content", # query for filtering + "c": "0" # cache: 0=bypass, 1=use +}) + +# LLM Q&A +response = requests.get("http://localhost:11235/llm/https://example.com?q=What is this page about?") + +# Library context (for AI assistants) +response = requests.get("http://localhost:11235/ask", params={ + "context_type": "all", # code|doc|all + "query": "how to use extraction strategies", + "score_ratio": 0.5, + "max_results": 20 +}) +``` + +### Python SDK Usage + +```python +import asyncio +from crawl4ai.docker_client import Crawl4aiDockerClient +from crawl4ai import BrowserConfig, CrawlerRunConfig, CacheMode + +async def main(): + async with Crawl4aiDockerClient(base_url="http://localhost:11235") as client: + # Non-streaming crawl + results = await client.crawl( + ["https://example.com"], + browser_config=BrowserConfig(headless=True), + crawler_config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS) + ) + + for result in results: + print(f"URL: {result.url}, Success: {result.success}") + print(f"Content length: {len(result.markdown)}") + + # Streaming crawl + stream_config = CrawlerRunConfig(stream=True, cache_mode=CacheMode.BYPASS) + async for result in await client.crawl( + ["https://example.com", "https://python.org"], + browser_config=BrowserConfig(headless=True), + crawler_config=stream_config + ): + print(f"Streamed: {result.url} - {result.success}") + + # Get API schema + schema = await client.get_schema() + print(f"Schema available: {bool(schema)}") + +asyncio.run(main()) +``` + +### Advanced API Configuration + +```python +# Complex extraction with LLM +payload = { + "urls": ["https://example.com"], + "browser_config": { + "type": "BrowserConfig", + "params": { + "headless": True, + "viewport": {"type": "dict", "value": {"width": 1200, "height": 800}} + } + }, + "crawler_config": { + "type": "CrawlerRunConfig", + "params": { + "extraction_strategy": { + "type": "LLMExtractionStrategy", + "params": { + "llm_config": { + "type": "LLMConfig", + "params": { + "provider": "openai/gpt-4o-mini", + "api_token": "env:OPENAI_API_KEY" + } + }, + "schema": { + "type": "dict", + "value": { + "type": "object", + "properties": { + "title": {"type": "string"}, + "content": {"type": "string"} + } + } + }, + "instruction": "Extract title and main content" + } + }, + "markdown_generator": { + "type": "DefaultMarkdownGenerator", + "params": { + "content_filter": { + "type": "PruningContentFilter", + "params": {"threshold": 0.6} + } + } + } + } + } +} + +response = requests.post("http://localhost:11235/crawl", json=payload) +``` + +### CSS Extraction Strategy + +```python +# CSS-based structured extraction +schema = { + "name": "ProductList", + "baseSelector": ".product", + "fields": [ + {"name": "title", "selector": "h2", "type": "text"}, + {"name": "price", "selector": ".price", "type": "text"}, + {"name": "link", "selector": "a", "type": "attribute", "attribute": "href"} + ] +} + +payload = { + "urls": ["https://example-shop.com"], + "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, + "crawler_config": { + "type": "CrawlerRunConfig", + "params": { + "extraction_strategy": { + "type": "JsonCssExtractionStrategy", + "params": { + "schema": {"type": "dict", "value": schema} + } + } + } + } +} + +response = requests.post("http://localhost:11235/crawl", json=payload) +data = response.json() +extracted = json.loads(data["results"][0]["extracted_content"]) +``` + +### MCP (Model Context Protocol) Integration + +```bash +# Add Crawl4AI as MCP provider to Claude Code +claude mcp add --transport sse c4ai-sse http://localhost:11235/mcp/sse + +# List MCP providers +claude mcp list + +# Test MCP connection +python tests/mcp/test_mcp_socket.py + +# Available MCP endpoints +# SSE: http://localhost:11235/mcp/sse +# WebSocket: ws://localhost:11235/mcp/ws +# Schema: http://localhost:11235/mcp/schema +``` + +Available MCP tools: +- `md` - Generate markdown from web content +- `html` - Extract preprocessed HTML +- `screenshot` - Capture webpage screenshots +- `pdf` - Generate PDF documents +- `execute_js` - Run JavaScript on web pages +- `crawl` - Perform multi-URL crawling +- `ask` - Query Crawl4AI library context + +### Configuration Management + +```yaml +# config.yml structure +app: + title: "Crawl4AI API" + version: "1.0.0" + host: "0.0.0.0" + port: 11235 + timeout_keep_alive: 300 + +llm: + provider: "openai/gpt-4o-mini" + api_key_env: "OPENAI_API_KEY" + +security: + enabled: false + jwt_enabled: false + trusted_hosts: ["*"] + +crawler: + memory_threshold_percent: 95.0 + rate_limiter: + base_delay: [1.0, 2.0] + timeouts: + stream_init: 30.0 + batch_process: 300.0 + pool: + max_pages: 40 + idle_ttl_sec: 1800 + +rate_limiting: + enabled: true + default_limit: "1000/minute" + storage_uri: "memory://" + +logging: + level: "INFO" + format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s" +``` + +### Custom Configuration Deployment + +```bash +# Method 1: Mount custom config +docker run -d -p 11235:11235 \ + --name crawl4ai-custom \ + --env-file .llm.env \ + --shm-size=1g \ + -v $(pwd)/my-config.yml:/app/config.yml \ + unclecode/crawl4ai:latest + +# Method 2: Build with custom config +# Edit deploy/docker/config.yml then build +docker buildx build -t crawl4ai-custom:latest --load . +``` + +### Monitoring and Health Checks + +```bash +# Health endpoint +curl http://localhost:11235/health + +# Prometheus metrics +curl http://localhost:11235/metrics + +# Configuration validation +curl -X POST http://localhost:11235/config/dump \ + -H "Content-Type: application/json" \ + -d '{"code": "CrawlerRunConfig(cache_mode=\"BYPASS\", screenshot=True)"}' +``` + +### Playground Interface + +Access the interactive playground at `http://localhost:11235/playground` for: +- Testing configurations with visual interface +- Generating JSON payloads for REST API +- Converting Python config to JSON format +- Testing crawl operations directly in browser + +### Async Job Processing + +```python +# Submit job for async processing +import time + +# Submit crawl job +response = requests.post("http://localhost:11235/crawl/job", json=payload) +task_id = response.json()["task_id"] + +# Poll for completion +while True: + result = requests.get(f"http://localhost:11235/crawl/job/{task_id}") + status = result.json() + + if status["status"] in ["COMPLETED", "FAILED"]: + break + time.sleep(1.5) + +print("Final result:", status) +``` + +### Production Deployment + +```bash +# Production-ready deployment +docker run -d \ + --name crawl4ai-prod \ + --restart unless-stopped \ + -p 11235:11235 \ + --env-file .llm.env \ + --shm-size=2g \ + --memory=8g \ + --cpus=4 \ + -v /path/to/custom-config.yml:/app/config.yml \ + unclecode/crawl4ai:latest + +# With Docker Compose for production +version: '3.8' +services: + crawl4ai: + image: unclecode/crawl4ai:latest + ports: + - "11235:11235" + environment: + - OPENAI_API_KEY=${OPENAI_API_KEY} + volumes: + - ./config.yml:/app/config.yml + shm_size: 2g + deploy: + resources: + limits: + memory: 8G + cpus: '4' + restart: unless-stopped +``` + +### Configuration Validation and JSON Structure + +```python +# Method 1: Create config objects and dump to see expected JSON structure +from crawl4ai import BrowserConfig, CrawlerRunConfig, LLMConfig, CacheMode +from crawl4ai.extraction_strategy import JsonCssExtractionStrategy, LLMExtractionStrategy +import json + +# Create browser config and see JSON structure +browser_config = BrowserConfig( + headless=True, + viewport_width=1280, + viewport_height=720, + proxy="http://user:pass@proxy:8080" +) + +# Get JSON structure +browser_json = browser_config.dump() +print("BrowserConfig JSON structure:") +print(json.dumps(browser_json, indent=2)) + +# Create crawler config with extraction strategy +schema = { + "name": "Articles", + "baseSelector": ".article", + "fields": [ + {"name": "title", "selector": "h2", "type": "text"}, + {"name": "content", "selector": ".content", "type": "html"} + ] +} + +crawler_config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + screenshot=True, + extraction_strategy=JsonCssExtractionStrategy(schema), + js_code=["window.scrollTo(0, document.body.scrollHeight);"], + wait_for="css:.loaded" +) + +crawler_json = crawler_config.dump() +print("\nCrawlerRunConfig JSON structure:") +print(json.dumps(crawler_json, indent=2)) +``` + +### Reverse Validation - JSON to Objects + +```python +# Method 2: Load JSON back to config objects for validation +from crawl4ai.async_configs import from_serializable_dict + +# Test JSON structure by converting back to objects +test_browser_json = { + "type": "BrowserConfig", + "params": { + "headless": True, + "viewport_width": 1280, + "proxy": "http://user:pass@proxy:8080" + } +} + +try: + # Convert JSON back to object + restored_browser = from_serializable_dict(test_browser_json) + print(f"✅ Valid BrowserConfig: {type(restored_browser)}") + print(f"Headless: {restored_browser.headless}") + print(f"Proxy: {restored_browser.proxy}") +except Exception as e: + print(f"❌ Invalid BrowserConfig JSON: {e}") + +# Test complex crawler config JSON +test_crawler_json = { + "type": "CrawlerRunConfig", + "params": { + "cache_mode": "bypass", + "screenshot": True, + "extraction_strategy": { + "type": "JsonCssExtractionStrategy", + "params": { + "schema": { + "type": "dict", + "value": { + "name": "Products", + "baseSelector": ".product", + "fields": [ + {"name": "title", "selector": "h3", "type": "text"} + ] + } + } + } + } + } +} + +try: + restored_crawler = from_serializable_dict(test_crawler_json) + print(f"✅ Valid CrawlerRunConfig: {type(restored_crawler)}") + print(f"Cache mode: {restored_crawler.cache_mode}") + print(f"Has extraction strategy: {restored_crawler.extraction_strategy is not None}") +except Exception as e: + print(f"❌ Invalid CrawlerRunConfig JSON: {e}") +``` + +### Using Server's /config/dump Endpoint for Validation + +```python +import requests + +# Method 3: Use server endpoint to validate configuration syntax +def validate_config_with_server(config_code: str) -> dict: + """Validate configuration using server's /config/dump endpoint""" + response = requests.post( + "http://localhost:11235/config/dump", + json={"code": config_code} + ) + + if response.status_code == 200: + print("✅ Valid configuration syntax") + return response.json() + else: + print(f"❌ Invalid configuration: {response.status_code}") + print(response.json()) + return None + +# Test valid configuration +valid_config = """ +CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + screenshot=True, + js_code=["window.scrollTo(0, document.body.scrollHeight);"], + wait_for="css:.content-loaded" +) +""" + +result = validate_config_with_server(valid_config) +if result: + print("Generated JSON structure:") + print(json.dumps(result, indent=2)) + +# Test invalid configuration (should fail) +invalid_config = """ +CrawlerRunConfig( + cache_mode="invalid_mode", + screenshot=True, + js_code=some_function() # This will fail +) +""" + +validate_config_with_server(invalid_config) +``` + +### Configuration Builder Helper + +```python +def build_and_validate_request(urls, browser_params=None, crawler_params=None): + """Helper to build and validate complete request payload""" + + # Create configurations + browser_config = BrowserConfig(**(browser_params or {})) + crawler_config = CrawlerRunConfig(**(crawler_params or {})) + + # Build complete request payload + payload = { + "urls": urls if isinstance(urls, list) else [urls], + "browser_config": browser_config.dump(), + "crawler_config": crawler_config.dump() + } + + print("✅ Complete request payload:") + print(json.dumps(payload, indent=2)) + + # Validate by attempting to reconstruct + try: + test_browser = from_serializable_dict(payload["browser_config"]) + test_crawler = from_serializable_dict(payload["crawler_config"]) + print("✅ Payload validation successful") + return payload + except Exception as e: + print(f"❌ Payload validation failed: {e}") + return None + +# Example usage +payload = build_and_validate_request( + urls=["https://example.com"], + browser_params={"headless": True, "viewport_width": 1280}, + crawler_params={ + "cache_mode": CacheMode.BYPASS, + "screenshot": True, + "word_count_threshold": 10 + } +) + +if payload: + # Send to server + response = requests.post("http://localhost:11235/crawl", json=payload) + print(f"Server response: {response.status_code}") +``` + +### Common JSON Structure Patterns + +```python +# Pattern 1: Simple primitive values +simple_config = { + "type": "CrawlerRunConfig", + "params": { + "cache_mode": "bypass", # String enum value + "screenshot": True, # Boolean + "page_timeout": 60000 # Integer + } +} + +# Pattern 2: Nested objects +nested_config = { + "type": "CrawlerRunConfig", + "params": { + "extraction_strategy": { + "type": "LLMExtractionStrategy", + "params": { + "llm_config": { + "type": "LLMConfig", + "params": { + "provider": "openai/gpt-4o-mini", + "api_token": "env:OPENAI_API_KEY" + } + }, + "instruction": "Extract main content" + } + } + } +} + +# Pattern 3: Dictionary values (must use type: dict wrapper) +dict_config = { + "type": "CrawlerRunConfig", + "params": { + "extraction_strategy": { + "type": "JsonCssExtractionStrategy", + "params": { + "schema": { + "type": "dict", # Required wrapper + "value": { # Actual dictionary content + "name": "Products", + "baseSelector": ".product", + "fields": [ + {"name": "title", "selector": "h2", "type": "text"} + ] + } + } + } + } + } +} + +# Pattern 4: Lists and arrays +list_config = { + "type": "CrawlerRunConfig", + "params": { + "js_code": [ # Lists are handled directly + "window.scrollTo(0, document.body.scrollHeight);", + "document.querySelector('.load-more')?.click();" + ], + "excluded_tags": ["script", "style", "nav"] + } +} +``` + +### Troubleshooting Common JSON Errors + +```python +def diagnose_json_errors(): + """Common JSON structure errors and fixes""" + + # ❌ WRONG: Missing type wrapper for objects + wrong_config = { + "browser_config": { + "headless": True # Missing type wrapper + } + } + + # ✅ CORRECT: Proper type wrapper + correct_config = { + "browser_config": { + "type": "BrowserConfig", + "params": { + "headless": True + } + } + } + + # ❌ WRONG: Dictionary without type: dict wrapper + wrong_dict = { + "schema": { + "name": "Products" # Raw dict, should be wrapped + } + } + + # ✅ CORRECT: Dictionary with proper wrapper + correct_dict = { + "schema": { + "type": "dict", + "value": { + "name": "Products" + } + } + } + + # ❌ WRONG: Invalid enum string + wrong_enum = { + "cache_mode": "DISABLED" # Wrong case/value + } + + # ✅ CORRECT: Valid enum string + correct_enum = { + "cache_mode": "bypass" # or "enabled", "disabled", etc. + } + + print("Common error patterns documented above") + +# Validate your JSON structure before sending +def pre_flight_check(payload): + """Run checks before sending to server""" + required_keys = ["urls", "browser_config", "crawler_config"] + + for key in required_keys: + if key not in payload: + print(f"❌ Missing required key: {key}") + return False + + # Check type wrappers + for config_key in ["browser_config", "crawler_config"]: + config = payload[config_key] + if not isinstance(config, dict) or "type" not in config: + print(f"❌ {config_key} missing type wrapper") + return False + if "params" not in config: + print(f"❌ {config_key} missing params") + return False + + print("✅ Pre-flight check passed") + return True + +# Example usage +payload = { + "urls": ["https://example.com"], + "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, + "crawler_config": {"type": "CrawlerRunConfig", "params": {"cache_mode": "bypass"}} +} + +if pre_flight_check(payload): + # Safe to send to server + pass +``` + +**📖 Learn more:** [Complete Docker Guide](https://docs.crawl4ai.com/core/docker-deployment/), [API Reference](https://docs.crawl4ai.com/api/), [MCP Integration](https://docs.crawl4ai.com/core/docker-deployment/#mcp-model-context-protocol-support), [Configuration Options](https://docs.crawl4ai.com/core/docker-deployment/#server-configuration) +--- + + +## CLI & Identity-Based Browsing + +Command-line interface for web crawling with persistent browser profiles, authentication, and identity management. + +### Basic CLI Usage + +```bash +# Simple crawling +crwl https://example.com + +# Get markdown output +crwl https://example.com -o markdown + +# JSON output with cache bypass +crwl https://example.com -o json --bypass-cache + +# Verbose mode with specific browser settings +crwl https://example.com -b "headless=false,viewport_width=1280" -v +``` + +### Profile Management Commands + +```bash +# Launch interactive profile manager +crwl profiles + +# Create, list, and manage browser profiles +# This opens a menu where you can: +# 1. List existing profiles +# 2. Create new profile (opens browser for setup) +# 3. Delete profiles +# 4. Use profile to crawl a website + +# Use a specific profile for crawling +crwl https://example.com -p my-profile-name + +# Example workflow for authenticated sites: +# 1. Create profile and log in +crwl profiles # Select "Create new profile" +# 2. Use profile for crawling authenticated content +crwl https://site-requiring-login.com/dashboard -p my-profile-name +``` + +### CDP Browser Management + +```bash +# Launch browser with CDP debugging (default port 9222) +crwl cdp + +# Use specific profile and custom port +crwl cdp -p my-profile -P 9223 + +# Launch headless browser with CDP +crwl cdp --headless + +# Launch in incognito mode (ignores profile) +crwl cdp --incognito + +# Use custom user data directory +crwl cdp --user-data-dir ~/my-browser-data --port 9224 +``` + +### Builtin Browser Management + +```bash +# Start persistent browser instance +crwl browser start + +# Check browser status +crwl browser status + +# Open visible window to see the browser +crwl browser view --url https://example.com + +# Stop the browser +crwl browser stop + +# Restart with different options +crwl browser restart --browser-type chromium --port 9223 --no-headless + +# Use builtin browser in crawling +crwl https://example.com -b "browser_mode=builtin" +``` + +### Authentication Workflow Examples + +```bash +# Complete workflow for LinkedIn scraping +# 1. Create authenticated profile +crwl profiles +# Select "Create new profile" → login to LinkedIn in browser → press 'q' to save + +# 2. Use profile for crawling +crwl https://linkedin.com/in/someone -p linkedin-profile -o markdown + +# 3. Extract structured data with authentication +crwl https://linkedin.com/search/results/people/ \ + -p linkedin-profile \ + -j "Extract people profiles with names, titles, and companies" \ + -b "headless=false" + +# GitHub authenticated crawling +crwl profiles # Create github-profile +crwl https://github.com/settings/profile -p github-profile + +# Twitter/X authenticated access +crwl profiles # Create twitter-profile +crwl https://twitter.com/home -p twitter-profile -o markdown +``` + +### Advanced CLI Configuration + +```bash +# Complex crawling with multiple configs +crwl https://example.com \ + -B browser.yml \ + -C crawler.yml \ + -e extract_llm.yml \ + -s llm_schema.json \ + -p my-auth-profile \ + -o json \ + -v + +# Quick LLM extraction with authentication +crwl https://private-site.com/dashboard \ + -p auth-profile \ + -j "Extract user dashboard data including metrics and notifications" \ + -b "headless=true,viewport_width=1920" + +# Content filtering with authentication +crwl https://members-only-site.com \ + -p member-profile \ + -f filter_bm25.yml \ + -c "css_selector=.member-content,scan_full_page=true" \ + -o markdown-fit +``` + +### Configuration Files for Identity Browsing + +```yaml +# browser_auth.yml +headless: false +use_managed_browser: true +user_data_dir: "/path/to/profile" +viewport_width: 1280 +viewport_height: 720 +simulate_user: true +override_navigator: true + +# crawler_auth.yml +magic: true +remove_overlay_elements: true +simulate_user: true +wait_for: "css:.authenticated-content" +page_timeout: 60000 +delay_before_return_html: 2 +scan_full_page: true +``` + +### Global Configuration Management + +```bash +# List all configuration settings +crwl config list + +# Set default LLM provider +crwl config set DEFAULT_LLM_PROVIDER "anthropic/claude-3-sonnet" +crwl config set DEFAULT_LLM_PROVIDER_TOKEN "your-api-token" + +# Set browser defaults +crwl config set BROWSER_HEADLESS false # Always show browser +crwl config set USER_AGENT_MODE random # Random user agents + +# Enable verbose mode globally +crwl config set VERBOSE true +``` + +### Q&A with Authenticated Content + +```bash +# Ask questions about authenticated content +crwl https://private-dashboard.com -p dashboard-profile \ + -q "What are the key metrics shown in my dashboard?" + +# Multiple questions workflow +crwl https://company-intranet.com -p work-profile -o markdown # View content +crwl https://company-intranet.com -p work-profile \ + -q "Summarize this week's announcements" +crwl https://company-intranet.com -p work-profile \ + -q "What are the upcoming deadlines?" +``` + +### Profile Creation Programmatically + +```python +# Create profiles via Python API +import asyncio +from crawl4ai import BrowserProfiler + +async def create_auth_profile(): + profiler = BrowserProfiler() + + # Create profile interactively (opens browser) + profile_path = await profiler.create_profile("linkedin-auth") + print(f"Profile created at: {profile_path}") + + # List all profiles + profiles = profiler.list_profiles() + for profile in profiles: + print(f"Profile: {profile['name']} at {profile['path']}") + + # Use profile for crawling + from crawl4ai import AsyncWebCrawler, BrowserConfig + + browser_config = BrowserConfig( + headless=True, + use_managed_browser=True, + user_data_dir=profile_path + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun("https://linkedin.com/feed") + return result + +# asyncio.run(create_auth_profile()) +``` + +### Identity Browsing Best Practices + +```bash +# 1. Create specific profiles for different sites +crwl profiles # Create "linkedin-work" +crwl profiles # Create "github-personal" +crwl profiles # Create "company-intranet" + +# 2. Use descriptive profile names +crwl https://site1.com -p site1-admin-account +crwl https://site2.com -p site2-user-account + +# 3. Combine with appropriate browser settings +crwl https://secure-site.com \ + -p secure-profile \ + -b "headless=false,simulate_user=true,magic=true" \ + -c "wait_for=.logged-in-indicator,page_timeout=30000" + +# 4. Test profile before automated crawling +crwl cdp -p test-profile # Manually verify login status +crwl https://test-url.com -p test-profile -v # Verbose test crawl +``` + +### Troubleshooting Authentication Issues + +```bash +# Debug authentication problems +crwl https://auth-site.com -p auth-profile \ + -b "headless=false,verbose=true" \ + -c "verbose=true,page_timeout=60000" \ + -v + +# Check profile status +crwl profiles # List profiles and check creation dates + +# Recreate problematic profiles +crwl profiles # Delete old profile, create new one + +# Test with visible browser +crwl https://problem-site.com -p profile-name \ + -b "headless=false" \ + -c "delay_before_return_html=5" +``` + +### Common Use Cases + +```bash +# Social media monitoring (after authentication) +crwl https://twitter.com/home -p twitter-monitor \ + -j "Extract latest tweets with sentiment and engagement metrics" + +# E-commerce competitor analysis (with account access) +crwl https://competitor-site.com/products -p competitor-account \ + -j "Extract product prices, availability, and descriptions" + +# Company dashboard monitoring +crwl https://company-dashboard.com -p work-profile \ + -c "css_selector=.dashboard-content" \ + -q "What alerts or notifications need attention?" + +# Research data collection (authenticated access) +crwl https://research-platform.com/data -p research-profile \ + -e extract_research.yml \ + -s research_schema.json \ + -o json +``` + +**📖 Learn more:** [Identity-Based Crawling Documentation](https://docs.crawl4ai.com/advanced/identity-based-crawling/), [Browser Profile Management](https://docs.crawl4ai.com/advanced/session-management/), [CLI Examples](https://docs.crawl4ai.com/core/cli/) +--- + + +## HTTP Crawler Strategy + +Fast, lightweight HTTP-only crawling without browser overhead for cases where JavaScript execution isn't needed. + +### Basic HTTP Crawler Setup + +```python +import asyncio +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, HTTPCrawlerConfig, CacheMode +from crawl4ai.async_crawler_strategy import AsyncHTTPCrawlerStrategy +from crawl4ai.async_logger import AsyncLogger + +async def main(): + # Initialize HTTP strategy + http_strategy = AsyncHTTPCrawlerStrategy( + browser_config=HTTPCrawlerConfig( + method="GET", + verify_ssl=True, + follow_redirects=True + ), + logger=AsyncLogger(verbose=True) + ) + + # Use with AsyncWebCrawler + async with AsyncWebCrawler(crawler_strategy=http_strategy) as crawler: + result = await crawler.arun("https://example.com") + print(f"Status: {result.status_code}") + print(f"Content: {len(result.html)} chars") + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### HTTP Request Types + +```python +# GET request (default) +http_config = HTTPCrawlerConfig( + method="GET", + headers={"Accept": "application/json"} +) + +# POST with JSON data +http_config = HTTPCrawlerConfig( + method="POST", + json={"key": "value", "data": [1, 2, 3]}, + headers={"Content-Type": "application/json"} +) + +# POST with form data +http_config = HTTPCrawlerConfig( + method="POST", + data={"username": "user", "password": "pass"}, + headers={"Content-Type": "application/x-www-form-urlencoded"} +) + +# Advanced configuration +http_config = HTTPCrawlerConfig( + method="GET", + headers={"User-Agent": "Custom Bot/1.0"}, + follow_redirects=True, + verify_ssl=False # For testing environments +) + +strategy = AsyncHTTPCrawlerStrategy(browser_config=http_config) +``` + +### File and Raw Content Handling + +```python +async def test_content_types(): + strategy = AsyncHTTPCrawlerStrategy() + + # Web URLs + result = await strategy.crawl("https://httpbin.org/get") + print(f"Web content: {result.status_code}") + + # Local files + result = await strategy.crawl("file:///path/to/local/file.html") + print(f"File content: {len(result.html)}") + + # Raw HTML content + raw_html = "raw://

Test

Content

" + result = await strategy.crawl(raw_html) + print(f"Raw content: {result.html}") + + # Raw content with complex HTML + complex_html = """raw:// + + Test Page + +
+

Main Title

+

Paragraph content

+
  • Item 1
  • Item 2
+
+ + """ + result = await strategy.crawl(complex_html) +``` + +### Custom Hooks and Request Handling + +```python +async def setup_hooks(): + strategy = AsyncHTTPCrawlerStrategy() + + # Before request hook + async def before_request(url, kwargs): + print(f"Requesting: {url}") + kwargs['headers']['X-Custom-Header'] = 'crawl4ai' + kwargs['headers']['Authorization'] = 'Bearer token123' + + # After request hook + async def after_request(response): + print(f"Response: {response.status_code}") + if hasattr(response, 'redirected_url'): + print(f"Redirected to: {response.redirected_url}") + + # Error handling hook + async def on_error(error): + print(f"Request failed: {error}") + + # Set hooks + strategy.set_hook('before_request', before_request) + strategy.set_hook('after_request', after_request) + strategy.set_hook('on_error', on_error) + + # Use with hooks + result = await strategy.crawl("https://httpbin.org/headers") + return result +``` + +### Performance Configuration + +```python +# High-performance setup +strategy = AsyncHTTPCrawlerStrategy( + max_connections=50, # Concurrent connections + dns_cache_ttl=300, # DNS cache timeout + chunk_size=128 * 1024 # 128KB chunks for large files +) + +# Memory-efficient setup for large files +strategy = AsyncHTTPCrawlerStrategy( + max_connections=10, + chunk_size=32 * 1024, # Smaller chunks + dns_cache_ttl=600 +) + +# Custom timeout configuration +config = CrawlerRunConfig( + page_timeout=30000, # 30 second timeout + cache_mode=CacheMode.BYPASS +) + +result = await strategy.crawl("https://slow-server.com", config=config) +``` + +### Error Handling and Retries + +```python +from crawl4ai.async_crawler_strategy import ( + ConnectionTimeoutError, + HTTPStatusError, + HTTPCrawlerError +) + +async def robust_crawling(): + strategy = AsyncHTTPCrawlerStrategy() + + urls = [ + "https://example.com", + "https://httpbin.org/status/404", + "https://nonexistent.domain.test" + ] + + for url in urls: + try: + result = await strategy.crawl(url) + print(f"✓ {url}: {result.status_code}") + + except HTTPStatusError as e: + print(f"✗ {url}: HTTP {e.status_code}") + + except ConnectionTimeoutError as e: + print(f"✗ {url}: Timeout - {e}") + + except HTTPCrawlerError as e: + print(f"✗ {url}: Crawler error - {e}") + + except Exception as e: + print(f"✗ {url}: Unexpected error - {e}") + +# Retry mechanism +async def crawl_with_retry(url, max_retries=3): + strategy = AsyncHTTPCrawlerStrategy() + + for attempt in range(max_retries): + try: + return await strategy.crawl(url) + except (ConnectionTimeoutError, HTTPCrawlerError) as e: + if attempt == max_retries - 1: + raise + print(f"Retry {attempt + 1}/{max_retries}: {e}") + await asyncio.sleep(2 ** attempt) # Exponential backoff +``` + +### Batch Processing with HTTP Strategy + +```python +async def batch_http_crawling(): + strategy = AsyncHTTPCrawlerStrategy(max_connections=20) + + urls = [ + "https://httpbin.org/get", + "https://httpbin.org/user-agent", + "https://httpbin.org/headers", + "https://example.com", + "https://httpbin.org/json" + ] + + # Sequential processing + results = [] + async with strategy: + for url in urls: + try: + result = await strategy.crawl(url) + results.append((url, result.status_code, len(result.html))) + except Exception as e: + results.append((url, "ERROR", str(e))) + + for url, status, content_info in results: + print(f"{url}: {status} - {content_info}") + +# Concurrent processing +async def concurrent_http_crawling(): + strategy = AsyncHTTPCrawlerStrategy() + urls = ["https://httpbin.org/delay/1"] * 5 + + async def crawl_single(url): + try: + result = await strategy.crawl(url) + return f"✓ {result.status_code}" + except Exception as e: + return f"✗ {e}" + + async with strategy: + tasks = [crawl_single(url) for url in urls] + results = await asyncio.gather(*tasks, return_exceptions=True) + + for i, result in enumerate(results): + print(f"URL {i+1}: {result}") +``` + +### Integration with Content Processing + +```python +from crawl4ai import DefaultMarkdownGenerator, PruningContentFilter + +async def http_with_processing(): + # HTTP strategy with content processing + http_strategy = AsyncHTTPCrawlerStrategy( + browser_config=HTTPCrawlerConfig(verify_ssl=True) + ) + + # Configure markdown generation + crawler_config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + markdown_generator=DefaultMarkdownGenerator( + content_filter=PruningContentFilter( + threshold=0.48, + threshold_type="fixed", + min_word_threshold=10 + ) + ), + word_count_threshold=5, + excluded_tags=['script', 'style', 'nav'], + exclude_external_links=True + ) + + async with AsyncWebCrawler(crawler_strategy=http_strategy) as crawler: + result = await crawler.arun( + url="https://example.com", + config=crawler_config + ) + + print(f"Status: {result.status_code}") + print(f"Raw HTML: {len(result.html)} chars") + if result.markdown: + print(f"Markdown: {len(result.markdown.raw_markdown)} chars") + if result.markdown.fit_markdown: + print(f"Filtered: {len(result.markdown.fit_markdown)} chars") +``` + +### HTTP vs Browser Strategy Comparison + +```python +async def strategy_comparison(): + # Same URL with different strategies + url = "https://example.com" + + # HTTP Strategy (fast, no JS) + http_strategy = AsyncHTTPCrawlerStrategy() + start_time = time.time() + http_result = await http_strategy.crawl(url) + http_time = time.time() - start_time + + # Browser Strategy (full features) + from crawl4ai import BrowserConfig + browser_config = BrowserConfig(headless=True) + start_time = time.time() + async with AsyncWebCrawler(config=browser_config) as crawler: + browser_result = await crawler.arun(url) + browser_time = time.time() - start_time + + print(f"HTTP Strategy:") + print(f" Time: {http_time:.2f}s") + print(f" Content: {len(http_result.html)} chars") + print(f" Features: Fast, lightweight, no JS") + + print(f"Browser Strategy:") + print(f" Time: {browser_time:.2f}s") + print(f" Content: {len(browser_result.html)} chars") + print(f" Features: Full browser, JS, screenshots, etc.") + + # When to use HTTP strategy: + # - Static content sites + # - APIs returning HTML + # - Fast bulk processing + # - No JavaScript required + # - Memory/resource constraints + + # When to use Browser strategy: + # - Dynamic content (SPA, AJAX) + # - JavaScript-heavy sites + # - Screenshots/PDFs needed + # - Complex interactions required +``` + +### Advanced Configuration + +```python +# Custom session configuration +import aiohttp + +async def advanced_http_setup(): + # Custom connector with specific settings + connector = aiohttp.TCPConnector( + limit=100, # Connection pool size + ttl_dns_cache=600, # DNS cache TTL + use_dns_cache=True, # Enable DNS caching + keepalive_timeout=30, # Keep-alive timeout + force_close=False # Reuse connections + ) + + strategy = AsyncHTTPCrawlerStrategy( + max_connections=50, + dns_cache_ttl=600, + chunk_size=64 * 1024 + ) + + # Custom headers for all requests + http_config = HTTPCrawlerConfig( + headers={ + "User-Agent": "Crawl4AI-HTTP/1.0", + "Accept": "text/html,application/xhtml+xml", + "Accept-Language": "en-US,en;q=0.9", + "Accept-Encoding": "gzip, deflate, br", + "DNT": "1" + }, + verify_ssl=True, + follow_redirects=True + ) + + strategy.browser_config = http_config + + # Use with custom timeout + config = CrawlerRunConfig( + page_timeout=45000, # 45 seconds + cache_mode=CacheMode.ENABLED + ) + + result = await strategy.crawl("https://example.com", config=config) + await strategy.close() +``` + +**📖 Learn more:** [AsyncWebCrawler API](https://docs.crawl4ai.com/api/async-webcrawler/), [Browser vs HTTP Strategy](https://docs.crawl4ai.com/core/browser-crawler-config/), [Performance Optimization](https://docs.crawl4ai.com/advanced/multi-url-crawling/) +--- + + +## URL Seeding + +Smart URL discovery for efficient large-scale crawling. Discover thousands of URLs instantly, filter by relevance, then crawl only what matters. + +### Why URL Seeding vs Deep Crawling + +```python +# Deep Crawling: Real-time discovery (page by page) +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig +from crawl4ai.deep_crawling import BFSDeepCrawlStrategy + +async def deep_crawl_example(): + config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=2, + include_external=False, + max_pages=50 + ) + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun("https://example.com", config=config) + print(f"Discovered {len(results)} pages dynamically") + +# URL Seeding: Bulk discovery (thousands instantly) +from crawl4ai import AsyncUrlSeeder, SeedingConfig + +async def url_seeding_example(): + config = SeedingConfig( + source="sitemap+cc", + pattern="*/docs/*", + extract_head=True, + query="API documentation", + scoring_method="bm25", + max_urls=1000 + ) + + async with AsyncUrlSeeder() as seeder: + urls = await seeder.urls("example.com", config) + print(f"Discovered {len(urls)} URLs instantly") + # Now crawl only the most relevant ones +``` + +### Basic URL Discovery + +```python +import asyncio +from crawl4ai import AsyncUrlSeeder, SeedingConfig + +async def basic_discovery(): + # Context manager handles cleanup automatically + async with AsyncUrlSeeder() as seeder: + + # Simple discovery from sitemaps + config = SeedingConfig(source="sitemap") + urls = await seeder.urls("example.com", config) + + print(f"Found {len(urls)} URLs from sitemap") + for url in urls[:5]: + print(f" - {url['url']} (status: {url['status']})") + +# Manual cleanup (if needed) +async def manual_cleanup(): + seeder = AsyncUrlSeeder() + try: + config = SeedingConfig(source="cc") # Common Crawl + urls = await seeder.urls("example.com", config) + print(f"Found {len(urls)} URLs from Common Crawl") + finally: + await seeder.close() + +asyncio.run(basic_discovery()) +``` + +### Data Sources and Patterns + +```python +# Different data sources +configs = [ + SeedingConfig(source="sitemap"), # Fastest, official URLs + SeedingConfig(source="cc"), # Most comprehensive + SeedingConfig(source="sitemap+cc"), # Maximum coverage +] + +# URL pattern filtering +patterns = [ + SeedingConfig(pattern="*/blog/*"), # Blog posts only + SeedingConfig(pattern="*.html"), # HTML files only + SeedingConfig(pattern="*/product/*"), # Product pages + SeedingConfig(pattern="*/docs/api/*"), # API documentation + SeedingConfig(pattern="*"), # Everything +] + +# Advanced pattern usage +async def pattern_filtering(): + async with AsyncUrlSeeder() as seeder: + # Find all blog posts from 2024 + config = SeedingConfig( + source="sitemap", + pattern="*/blog/2024/*.html", + max_urls=100 + ) + + blog_urls = await seeder.urls("example.com", config) + + # Further filter by keywords in URL + python_posts = [ + url for url in blog_urls + if "python" in url['url'].lower() + ] + + print(f"Found {len(python_posts)} Python blog posts") +``` + +### SeedingConfig Parameters + +```python +from crawl4ai import SeedingConfig + +# Comprehensive configuration +config = SeedingConfig( + # Data sources + source="sitemap+cc", # "sitemap", "cc", "sitemap+cc" + pattern="*/docs/*", # URL pattern filter + + # Metadata extraction + extract_head=True, # Get metadata + live_check=True, # Verify URLs are accessible + + # Performance controls + max_urls=1000, # Limit results (-1 = unlimited) + concurrency=20, # Parallel workers + hits_per_sec=10, # Rate limiting + + # Relevance scoring + query="API documentation guide", # Search query + scoring_method="bm25", # Scoring algorithm + score_threshold=0.3, # Minimum relevance (0.0-1.0) + + # Cache and filtering + force=False, # Bypass cache + filter_nonsense_urls=True, # Remove utility URLs + verbose=True # Debug output +) + +# Quick configurations for common use cases +blog_config = SeedingConfig( + source="sitemap", + pattern="*/blog/*", + extract_head=True +) + +api_docs_config = SeedingConfig( + source="sitemap+cc", + pattern="*/docs/*", + query="API reference documentation", + scoring_method="bm25", + score_threshold=0.5 +) + +product_pages_config = SeedingConfig( + source="cc", + pattern="*/product/*", + live_check=True, + max_urls=500 +) +``` + +### Metadata Extraction and Analysis + +```python +async def metadata_extraction(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + extract_head=True, # Extract metadata + pattern="*/blog/*", + max_urls=50 + ) + + urls = await seeder.urls("example.com", config) + + # Analyze extracted metadata + for url in urls[:5]: + head_data = url['head_data'] + print(f"\nURL: {url['url']}") + print(f"Title: {head_data.get('title', 'No title')}") + + # Standard meta tags + meta = head_data.get('meta', {}) + print(f"Description: {meta.get('description', 'N/A')}") + print(f"Keywords: {meta.get('keywords', 'N/A')}") + print(f"Author: {meta.get('author', 'N/A')}") + + # Open Graph data + print(f"OG Image: {meta.get('og:image', 'N/A')}") + print(f"OG Type: {meta.get('og:type', 'N/A')}") + + # JSON-LD structured data + jsonld = head_data.get('jsonld', []) + if jsonld: + print(f"Structured data: {len(jsonld)} items") + for item in jsonld[:2]: + if isinstance(item, dict): + print(f" Type: {item.get('@type', 'Unknown')}") + print(f" Name: {item.get('name', 'N/A')}") + +# Filter by metadata +async def metadata_filtering(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + extract_head=True, + max_urls=100 + ) + + urls = await seeder.urls("news.example.com", config) + + # Filter by publication date (from JSON-LD) + from datetime import datetime, timedelta + recent_cutoff = datetime.now() - timedelta(days=7) + + recent_articles = [] + for url in urls: + for jsonld in url['head_data'].get('jsonld', []): + if isinstance(jsonld, dict) and 'datePublished' in jsonld: + try: + pub_date = datetime.fromisoformat( + jsonld['datePublished'].replace('Z', '+00:00') + ) + if pub_date > recent_cutoff: + recent_articles.append(url) + break + except: + continue + + print(f"Found {len(recent_articles)} recent articles") +``` + +### BM25 Relevance Scoring + +```python +async def relevance_scoring(): + async with AsyncUrlSeeder() as seeder: + # Find pages about Python async programming + config = SeedingConfig( + source="sitemap", + extract_head=True, # Required for content-based scoring + query="python async await concurrency", + scoring_method="bm25", + score_threshold=0.3, # Only 30%+ relevant pages + max_urls=20 + ) + + urls = await seeder.urls("docs.python.org", config) + + # Results are automatically sorted by relevance + print("Most relevant Python async content:") + for url in urls[:5]: + score = url['relevance_score'] + title = url['head_data'].get('title', 'No title') + print(f"[{score:.2f}] {title}") + print(f" {url['url']}") + +# URL-based scoring (when extract_head=False) +async def url_based_scoring(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + extract_head=False, # Fast URL-only scoring + query="machine learning tutorial", + scoring_method="bm25", + score_threshold=0.2 + ) + + urls = await seeder.urls("example.com", config) + + # Scoring based on URL structure, domain, path segments + for url in urls[:5]: + print(f"[{url['relevance_score']:.2f}] {url['url']}") + +# Multi-concept queries +async def complex_queries(): + queries = [ + "data science pandas numpy visualization", + "web scraping automation selenium", + "machine learning tensorflow pytorch", + "api documentation rest graphql" + ] + + async with AsyncUrlSeeder() as seeder: + all_results = [] + + for query in queries: + config = SeedingConfig( + source="sitemap", + extract_head=True, + query=query, + scoring_method="bm25", + score_threshold=0.4, + max_urls=10 + ) + + urls = await seeder.urls("learning-site.com", config) + all_results.extend(urls) + + # Remove duplicates while preserving order + seen = set() + unique_results = [] + for url in all_results: + if url['url'] not in seen: + seen.add(url['url']) + unique_results.append(url) + + print(f"Found {len(unique_results)} unique pages across all topics") +``` + +### Live URL Validation + +```python +async def url_validation(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + live_check=True, # Verify URLs are accessible + concurrency=15, # Parallel HEAD requests + hits_per_sec=8, # Rate limiting + max_urls=100 + ) + + urls = await seeder.urls("example.com", config) + + # Analyze results + valid_urls = [u for u in urls if u['status'] == 'valid'] + invalid_urls = [u for u in urls if u['status'] == 'not_valid'] + + print(f"✅ Valid URLs: {len(valid_urls)}") + print(f"❌ Invalid URLs: {len(invalid_urls)}") + print(f"📊 Success rate: {len(valid_urls)/len(urls)*100:.1f}%") + + # Show some invalid URLs for debugging + if invalid_urls: + print("\nSample invalid URLs:") + for url in invalid_urls[:3]: + print(f" - {url['url']}") + +# Combined validation and metadata +async def comprehensive_validation(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + live_check=True, # Verify accessibility + extract_head=True, # Get metadata + query="tutorial guide", # Relevance scoring + scoring_method="bm25", + score_threshold=0.2, + concurrency=10, + max_urls=50 + ) + + urls = await seeder.urls("docs.example.com", config) + + # Filter for valid, relevant tutorials + good_tutorials = [ + url for url in urls + if url['status'] == 'valid' and + url['relevance_score'] > 0.3 and + 'tutorial' in url['head_data'].get('title', '').lower() + ] + + print(f"Found {len(good_tutorials)} high-quality tutorials") +``` + +### Multi-Domain Discovery + +```python +async def multi_domain_research(): + async with AsyncUrlSeeder() as seeder: + # Research Python tutorials across multiple sites + domains = [ + "docs.python.org", + "realpython.com", + "python-course.eu", + "tutorialspoint.com" + ] + + config = SeedingConfig( + source="sitemap", + extract_head=True, + query="python beginner tutorial basics", + scoring_method="bm25", + score_threshold=0.3, + max_urls=15 # Per domain + ) + + # Discover across all domains in parallel + results = await seeder.many_urls(domains, config) + + # Collect and rank all tutorials + all_tutorials = [] + for domain, urls in results.items(): + for url in urls: + url['domain'] = domain + all_tutorials.append(url) + + # Sort by relevance across all domains + all_tutorials.sort(key=lambda x: x['relevance_score'], reverse=True) + + print(f"Top 10 Python tutorials across {len(domains)} sites:") + for i, tutorial in enumerate(all_tutorials[:10], 1): + score = tutorial['relevance_score'] + title = tutorial['head_data'].get('title', 'No title')[:60] + domain = tutorial['domain'] + print(f"{i:2d}. [{score:.2f}] {title}") + print(f" {domain}") + +# Competitor analysis +async def competitor_analysis(): + competitors = ["competitor1.com", "competitor2.com", "competitor3.com"] + + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + extract_head=True, + pattern="*/blog/*", + max_urls=50 + ) + + results = await seeder.many_urls(competitors, config) + + # Analyze content strategies + for domain, urls in results.items(): + content_types = {} + + for url in urls: + # Extract content type from metadata + meta = url['head_data'].get('meta', {}) + og_type = meta.get('og:type', 'unknown') + content_types[og_type] = content_types.get(og_type, 0) + 1 + + print(f"\n{domain} content distribution:") + for ctype, count in sorted(content_types.items(), + key=lambda x: x[1], reverse=True): + print(f" {ctype}: {count}") +``` + +### Complete Pipeline: Discovery → Filter → Crawl + +```python +async def smart_research_pipeline(): + """Complete pipeline: discover URLs, filter by relevance, crawl top results""" + + async with AsyncUrlSeeder() as seeder: + # Step 1: Discover relevant URLs + print("🔍 Discovering URLs...") + config = SeedingConfig( + source="sitemap+cc", + extract_head=True, + query="machine learning deep learning tutorial", + scoring_method="bm25", + score_threshold=0.4, + max_urls=100 + ) + + urls = await seeder.urls("example.com", config) + print(f" Found {len(urls)} relevant URLs") + + # Step 2: Select top articles + top_articles = sorted(urls, + key=lambda x: x['relevance_score'], + reverse=True)[:10] + + print(f" Selected top {len(top_articles)} for crawling") + + # Step 3: Show what we're about to crawl + print("\n📋 Articles to crawl:") + for i, article in enumerate(top_articles, 1): + score = article['relevance_score'] + title = article['head_data'].get('title', 'No title')[:60] + print(f" {i}. [{score:.2f}] {title}") + + # Step 4: Crawl selected articles + from crawl4ai import AsyncWebCrawler, CrawlerRunConfig + + print(f"\n🕷️ Crawling {len(top_articles)} articles...") + + async with AsyncWebCrawler() as crawler: + config = CrawlerRunConfig( + only_text=True, + word_count_threshold=200, + stream=True # Process results as they come + ) + + # Extract URLs and crawl + article_urls = [article['url'] for article in top_articles] + + crawled_count = 0 + async for result in await crawler.arun_many(article_urls, config=config): + if result.success: + crawled_count += 1 + word_count = len(result.markdown.raw_markdown.split()) + print(f" ✅ [{crawled_count}/{len(article_urls)}] " + f"{word_count} words from {result.url[:50]}...") + else: + print(f" ❌ Failed: {result.url[:50]}...") + + print(f"\n✨ Successfully crawled {crawled_count} articles!") + +asyncio.run(smart_research_pipeline()) +``` + +### Advanced Features and Performance + +```python +# Cache management +async def cache_management(): + async with AsyncUrlSeeder() as seeder: + # First run - populate cache + config = SeedingConfig( + source="sitemap", + extract_head=True, + force=True # Bypass cache, fetch fresh + ) + urls = await seeder.urls("example.com", config) + + # Subsequent runs - use cache (much faster) + config = SeedingConfig( + source="sitemap", + extract_head=True, + force=False # Use cache + ) + urls = await seeder.urls("example.com", config) + +# Performance optimization +async def performance_tuning(): + async with AsyncUrlSeeder() as seeder: + # High-performance configuration + config = SeedingConfig( + source="cc", + concurrency=50, # Many parallel workers + hits_per_sec=20, # High rate limit + max_urls=10000, # Large dataset + extract_head=False, # Skip metadata for speed + filter_nonsense_urls=True # Auto-filter utility URLs + ) + + import time + start = time.time() + urls = await seeder.urls("large-site.com", config) + elapsed = time.time() - start + + print(f"Processed {len(urls)} URLs in {elapsed:.2f}s") + print(f"Speed: {len(urls)/elapsed:.0f} URLs/second") + +# Memory-safe processing for large domains +async def large_domain_processing(): + async with AsyncUrlSeeder() as seeder: + # Safe for domains with 1M+ URLs + config = SeedingConfig( + source="cc+sitemap", + concurrency=50, # Bounded queue adapts to this + max_urls=100000, # Process in batches + filter_nonsense_urls=True + ) + + # The seeder automatically manages memory by: + # - Using bounded queues (prevents RAM spikes) + # - Applying backpressure when queue is full + # - Processing URLs as they're discovered + urls = await seeder.urls("huge-site.com", config) + +# Configuration cloning and reuse +config_base = SeedingConfig( + source="sitemap", + extract_head=True, + concurrency=20 +) + +# Create variations +blog_config = config_base.clone(pattern="*/blog/*") +docs_config = config_base.clone( + pattern="*/docs/*", + query="API documentation", + scoring_method="bm25" +) +fast_config = config_base.clone( + extract_head=False, + concurrency=100, + hits_per_sec=50 +) +``` + +### Troubleshooting and Best Practices + +```python +# Common issues and solutions +async def troubleshooting_guide(): + async with AsyncUrlSeeder() as seeder: + # Issue: No URLs found + try: + config = SeedingConfig(source="sitemap", pattern="*/nonexistent/*") + urls = await seeder.urls("example.com", config) + if not urls: + # Solution: Try broader pattern or different source + config = SeedingConfig(source="cc+sitemap", pattern="*") + urls = await seeder.urls("example.com", config) + except Exception as e: + print(f"Discovery failed: {e}") + + # Issue: Slow performance + config = SeedingConfig( + source="sitemap", # Faster than CC + concurrency=10, # Reduce if hitting rate limits + hits_per_sec=5, # Add rate limiting + extract_head=False # Skip if metadata not needed + ) + + # Issue: Low relevance scores + config = SeedingConfig( + query="specific detailed query terms", + score_threshold=0.1, # Lower threshold + scoring_method="bm25" + ) + + # Issue: Memory issues with large sites + config = SeedingConfig( + max_urls=10000, # Limit results + concurrency=20, # Reduce concurrency + source="sitemap" # Use sitemap only + ) + +# Performance benchmarks +print(""" +Typical performance on standard connection: +- Sitemap discovery: 100-1,000 URLs/second +- Common Crawl discovery: 50-500 URLs/second +- HEAD checking: 10-50 URLs/second +- Head extraction: 5-20 URLs/second +- BM25 scoring: 10,000+ URLs/second +""") + +# Best practices +best_practices = """ +✅ Use context manager: async with AsyncUrlSeeder() as seeder +✅ Start with sitemaps (faster), add CC if needed +✅ Use extract_head=True only when you need metadata +✅ Set reasonable max_urls to limit processing +✅ Add rate limiting for respectful crawling +✅ Cache results with force=False for repeated operations +✅ Filter nonsense URLs (enabled by default) +✅ Use specific patterns to reduce irrelevant results +""" +``` + +**📖 Learn more:** [Complete URL Seeding Guide](https://docs.crawl4ai.com/core/url-seeding/), [SeedingConfig Reference](https://docs.crawl4ai.com/api/parameters/), [Multi-URL Crawling](https://docs.crawl4ai.com/advanced/multi-url-crawling/) +--- + + +### Advanced Configuration Features + +#### User Agent Management & Bot Detection Avoidance + +```python +from crawl4ai import CrawlerRunConfig + +# Random user agent generation +config = CrawlerRunConfig( + user_agent_mode="random", + user_agent_generator_config={ + "platform": "windows", # "windows", "macos", "linux", "android", "ios" + "browser": "chrome", # "chrome", "firefox", "safari", "edge" + "device_type": "desktop" # "desktop", "mobile", "tablet" + } +) + +# Custom user agent with stealth features +config = CrawlerRunConfig( + user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", + simulate_user=True, # Simulate human mouse movements + override_navigator=True, # Override navigator properties + mean_delay=1.5, # Random delays between actions + max_range=2.0 +) + +# Combined anti-detection approach +stealth_config = CrawlerRunConfig( + user_agent_mode="random", + simulate_user=True, + override_navigator=True, + magic=True, # Auto-handle common bot detection patterns + delay_before_return_html=2.0 +) +``` + +#### Proxy Configuration with ProxyConfig + +```python +from crawl4ai import CrawlerRunConfig, ProxyConfig, ProxyRotationStrategy + +# Single proxy configuration +proxy_config = ProxyConfig( + server="http://proxy.example.com:8080", + username="proxy_user", + password="proxy_pass" +) + +# From proxy string format +proxy_config = ProxyConfig.from_string("192.168.1.100:8080:username:password") + +# Multiple proxies with rotation +proxies = [ + ProxyConfig(server="http://proxy1.com:8080", username="user1", password="pass1"), + ProxyConfig(server="http://proxy2.com:8080", username="user2", password="pass2"), + ProxyConfig(server="http://proxy3.com:8080", username="user3", password="pass3") +] + +rotation_strategy = ProxyRotationStrategy( + proxies=proxies, + rotation_method="round_robin" # or "random", "least_used" +) + +config = CrawlerRunConfig( + proxy_config=proxy_config, + proxy_rotation_strategy=rotation_strategy +) + +# Load proxies from environment variable +proxies_from_env = ProxyConfig.from_env("MY_PROXIES") # comma-separated proxy strings +``` + +#### Content Selection: css_selector vs target_elements + +```python +from crawl4ai import CrawlerRunConfig + +# css_selector: Extracts HTML at top level, affects entire processing +config = CrawlerRunConfig( + css_selector="main.article, .content-area", # Can be list of selectors + # Everything else (markdown, extraction, links) works only on this HTML subset +) + +# target_elements: Focuses extraction within already processed HTML +config = CrawlerRunConfig( + css_selector="body", # First extract entire body + target_elements=[ # Then focus extraction on these elements + ".article-content", + ".post-body", + ".main-text" + ], + # Links, media from entire body, but markdown/extraction only from target_elements +) + +# Hierarchical content selection +config = CrawlerRunConfig( + css_selector=["#main-content", ".article-wrapper"], # Top-level extraction + target_elements=[ # Subset for processing + ".article-title", + ".article-body", + ".article-metadata" + ], + excluded_selector="#sidebar, .ads, .comments" # Remove these from selection +) +``` + +#### Advanced wait_for Conditions + +```python +from crawl4ai import CrawlerRunConfig + +# CSS selector waiting +config = CrawlerRunConfig( + wait_for="css:.content-loaded", # Wait for element to appear + wait_for_timeout=15000 +) + +# JavaScript boolean expression waiting +config = CrawlerRunConfig( + wait_for="js:() => window.dataLoaded === true", # Custom JS condition + wait_for_timeout=20000 +) + +# Complex JavaScript conditions +config = CrawlerRunConfig( + wait_for="js:() => document.querySelectorAll('.item').length >= 10", + js_code=[ + "document.querySelector('.load-more')?.click();", + "window.scrollTo(0, document.body.scrollHeight);" + ] +) + +# Multiple conditions with JavaScript +config = CrawlerRunConfig( + wait_for="js:() => !document.querySelector('.loading') && document.querySelector('.results')", + page_timeout=30000 +) +``` + +#### Session Management for Multi-Step Crawling + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode + +# Persistent session across multiple arun() calls +async def multi_step_crawling(): + async with AsyncWebCrawler() as crawler: + # Step 1: Login page + login_config = CrawlerRunConfig( + session_id="user_session", # Create persistent session + js_code="document.querySelector('#username').value = 'user'; document.querySelector('#password').value = 'pass'; document.querySelector('#login').click();", + wait_for="css:.dashboard", + cache_mode=CacheMode.BYPASS + ) + + result1 = await crawler.arun("https://example.com/login", config=login_config) + + # Step 2: Navigate to protected area (reuses same browser page) + nav_config = CrawlerRunConfig( + session_id="user_session", # Same session = same browser page + js_only=True, # No page reload, just JS navigation + js_code="window.location.href = '/dashboard/data';", + wait_for="css:.data-table" + ) + + result2 = await crawler.arun("https://example.com/dashboard/data", config=nav_config) + + # Step 3: Extract data from multiple pages + for page in range(1, 6): + page_config = CrawlerRunConfig( + session_id="user_session", + js_only=True, + js_code=f"document.querySelector('.page-{page}').click();", + wait_for=f"js:() => document.querySelector('.page-{page}').classList.contains('active')" + ) + + result = await crawler.arun(f"https://example.com/data/page/{page}", config=page_config) + print(f"Page {page} data extracted: {len(result.extracted_content)}") + + # Important: Kill session when done + await crawler.kill_session("user_session") + +# Session with shared data between steps +async def session_with_shared_data(): + shared_context = {"user_id": "12345", "preferences": {"theme": "dark"}} + + config = CrawlerRunConfig( + session_id="persistent_session", + shared_data=shared_context, # Available across all session calls + js_code="console.log('User ID:', window.sharedData.user_id);" + ) +``` + +#### Identity-Based Crawling Parameters + +```python +from crawl4ai import CrawlerRunConfig, GeolocationConfig + +# Locale and timezone simulation +config = CrawlerRunConfig( + locale="en-US", # Browser language preference + timezone_id="America/New_York", # Timezone setting + user_agent_mode="random", + user_agent_generator_config={ + "platform": "windows", + "locale": "en-US" + } +) + +# Geolocation simulation +geo_config = GeolocationConfig( + latitude=40.7128, # New York coordinates + longitude=-74.0060, + accuracy=100.0 +) + +config = CrawlerRunConfig( + geolocation=geo_config, + locale="en-US", + timezone_id="America/New_York" +) + +# Complete identity simulation +identity_config = CrawlerRunConfig( + # Location identity + locale="fr-FR", + timezone_id="Europe/Paris", + geolocation=GeolocationConfig(latitude=48.8566, longitude=2.3522), + + # Browser identity + user_agent_mode="random", + user_agent_generator_config={ + "platform": "windows", + "locale": "fr-FR", + "browser": "chrome" + }, + + # Behavioral identity + simulate_user=True, + override_navigator=True, + mean_delay=2.0, + max_range=1.5 +) +``` + +#### Simplified Import Pattern + +```python +# Almost everything from crawl4ai main package +from crawl4ai import ( + AsyncWebCrawler, + BrowserConfig, + CrawlerRunConfig, + LLMConfig, + CacheMode, + ProxyConfig, + GeolocationConfig +) + +# Specialized strategies (still from crawl4ai) +from crawl4ai import ( + JsonCssExtractionStrategy, + LLMExtractionStrategy, + DefaultMarkdownGenerator, + PruningContentFilter, + RegexChunking +) + +# Complete example with simplified imports +async def example_crawl(): + browser_config = BrowserConfig(headless=True) + + run_config = CrawlerRunConfig( + user_agent_mode="random", + proxy_config=ProxyConfig.from_string("192.168.1.1:8080:user:pass"), + css_selector="main.content", + target_elements=[".article", ".post"], + wait_for="js:() => document.querySelector('.loaded')", + session_id="my_session", + simulate_user=True + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun("https://example.com", config=run_config) + return result +``` + +**📖 Learn more:** [Identity-Based Crawling](https://docs.crawl4ai.com/advanced/identity-based-crawling/), [Proxy & Security](https://docs.crawl4ai.com/advanced/proxy-security/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Content Selection](https://docs.crawl4ai.com/core/content-selection/) +--- + + +## Advanced Features + +Comprehensive guide to advanced crawling capabilities including file handling, authentication, dynamic content, monitoring, and session management. + +### File Download Handling + +```python +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig +import os + +# Enable downloads with custom path +downloads_path = os.path.join(os.getcwd(), "my_downloads") +os.makedirs(downloads_path, exist_ok=True) + +browser_config = BrowserConfig( + accept_downloads=True, + downloads_path=downloads_path +) + +# Trigger downloads with JavaScript +async def download_files(): + async with AsyncWebCrawler(config=browser_config) as crawler: + config = CrawlerRunConfig( + js_code=""" + // Click download links + const downloadLinks = document.querySelectorAll('a[href$=".pdf"]'); + for (const link of downloadLinks) { + link.click(); + await new Promise(r => setTimeout(r, 2000)); // Delay between downloads + } + """, + wait_for=5 # Wait for downloads to start + ) + + result = await crawler.arun("https://example.com/downloads", config=config) + + if result.downloaded_files: + print("Downloaded files:") + for file_path in result.downloaded_files: + print(f"- {file_path} ({os.path.getsize(file_path)} bytes)") +``` + +### Hooks & Authentication + +```python +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig +from playwright.async_api import Page, BrowserContext + +async def advanced_crawler_with_hooks(): + browser_config = BrowserConfig(headless=True, verbose=True) + crawler = AsyncWebCrawler(config=browser_config) + + # Hook functions for different stages + async def on_browser_created(browser, **kwargs): + print("[HOOK] Browser created successfully") + return browser + + async def on_page_context_created(page: Page, context: BrowserContext, **kwargs): + print("[HOOK] Setting up page & context") + + # Block images for faster crawling + async def route_filter(route): + if route.request.resource_type == "image": + await route.abort() + else: + await route.continue_() + + await context.route("**", route_filter) + + # Simulate login if needed + # await page.goto("https://example.com/login") + # await page.fill("input[name='username']", "testuser") + # await page.fill("input[name='password']", "password123") + # await page.click("button[type='submit']") + + await page.set_viewport_size({"width": 1080, "height": 600}) + return page + + async def before_goto(page: Page, context: BrowserContext, url: str, **kwargs): + print(f"[HOOK] About to navigate to: {url}") + await page.set_extra_http_headers({"Custom-Header": "my-value"}) + return page + + async def after_goto(page: Page, context: BrowserContext, url: str, response, **kwargs): + print(f"[HOOK] Successfully loaded: {url}") + try: + await page.wait_for_selector('.content', timeout=1000) + print("[HOOK] Content found!") + except: + print("[HOOK] Content not found, continuing") + return page + + async def before_retrieve_html(page: Page, context: BrowserContext, **kwargs): + print("[HOOK] Final actions before HTML retrieval") + await page.evaluate("window.scrollTo(0, document.body.scrollHeight);") + return page + + # Attach hooks + crawler.crawler_strategy.set_hook("on_browser_created", on_browser_created) + crawler.crawler_strategy.set_hook("on_page_context_created", on_page_context_created) + crawler.crawler_strategy.set_hook("before_goto", before_goto) + crawler.crawler_strategy.set_hook("after_goto", after_goto) + crawler.crawler_strategy.set_hook("before_retrieve_html", before_retrieve_html) + + await crawler.start() + + config = CrawlerRunConfig() + result = await crawler.arun("https://example.com", config=config) + + if result.success: + print(f"Crawled successfully: {len(result.html)} chars") + + await crawler.close() +``` + +### Lazy Loading & Dynamic Content + +```python +# Handle lazy-loaded images and infinite scroll +async def handle_lazy_loading(): + config = CrawlerRunConfig( + # Wait for images to fully load + wait_for_images=True, + + # Automatically scroll entire page to trigger lazy loading + scan_full_page=True, + scroll_delay=0.5, # Delay between scroll steps + + # JavaScript for custom lazy loading + js_code=""" + // Scroll and wait for content to load + window.scrollTo(0, document.body.scrollHeight); + + // Click "Load More" if available + const loadMoreBtn = document.querySelector('.load-more'); + if (loadMoreBtn) { + loadMoreBtn.click(); + } + """, + + # Wait for specific content to appear + wait_for="css:.lazy-content:nth-child(20)", # Wait for 20 items + + # Exclude external images to focus on main content + exclude_external_images=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com/gallery", config=config) + + if result.success: + images = result.media.get("images", []) + print(f"Loaded {len(images)} images after lazy loading") + for img in images[:3]: + print(f"- {img.get('src')} (score: {img.get('score', 'N/A')})") +``` + +### Network & Console Monitoring + +```python +# Capture all network requests and console messages for debugging +async def monitor_network_and_console(): + config = CrawlerRunConfig( + capture_network_requests=True, + capture_console_messages=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com", config=config) + + if result.success: + # Analyze network requests + if result.network_requests: + requests = [r for r in result.network_requests if r.get("event_type") == "request"] + responses = [r for r in result.network_requests if r.get("event_type") == "response"] + failures = [r for r in result.network_requests if r.get("event_type") == "request_failed"] + + print(f"Network activity: {len(requests)} requests, {len(responses)} responses, {len(failures)} failures") + + # Find API calls + api_calls = [r for r in requests if "api" in r.get("url", "")] + print(f"API calls detected: {len(api_calls)}") + + # Show failed requests + for failure in failures[:3]: + print(f"Failed: {failure.get('url')} - {failure.get('failure_text')}") + + # Analyze console messages + if result.console_messages: + message_types = {} + for msg in result.console_messages: + msg_type = msg.get("type", "unknown") + message_types[msg_type] = message_types.get(msg_type, 0) + 1 + + print(f"Console messages: {message_types}") + + # Show errors + errors = [msg for msg in result.console_messages if msg.get("type") == "error"] + for error in errors[:2]: + print(f"JS Error: {error.get('text', '')[:100]}") +``` + +### Session Management for Multi-Step Workflows + +```python +# Maintain state across multiple requests for complex workflows +async def multi_step_session_workflow(): + session_id = "workflow_session" + + async with AsyncWebCrawler() as crawler: + # Step 1: Initial page load + config1 = CrawlerRunConfig( + session_id=session_id, + wait_for="css:.content-loaded" + ) + + result1 = await crawler.arun("https://example.com/step1", config=config1) + print("Step 1 completed") + + # Step 2: Navigate and interact (same browser tab) + config2 = CrawlerRunConfig( + session_id=session_id, + js_only=True, # Don't reload page, just run JS + js_code=""" + document.querySelector('#next-button').click(); + """, + wait_for="css:.step2-content" + ) + + result2 = await crawler.arun("https://example.com/step2", config=config2) + print("Step 2 completed") + + # Step 3: Form submission + config3 = CrawlerRunConfig( + session_id=session_id, + js_only=True, + js_code=""" + document.querySelector('#form-field').value = 'test data'; + document.querySelector('#submit-btn').click(); + """, + wait_for="css:.results" + ) + + result3 = await crawler.arun("https://example.com/submit", config=config3) + print("Step 3 completed") + + # Clean up session + await crawler.crawler_strategy.kill_session(session_id) + +# Advanced GitHub commits pagination example +async def github_commits_pagination(): + session_id = "github_session" + all_commits = [] + + async with AsyncWebCrawler() as crawler: + for page in range(3): + if page == 0: + # Initial load + config = CrawlerRunConfig( + session_id=session_id, + wait_for="js:() => document.querySelectorAll('li.Box-sc-g0xbh4-0').length > 0" + ) + else: + # Navigate to next page + config = CrawlerRunConfig( + session_id=session_id, + js_only=True, + js_code='document.querySelector(\'a[data-testid="pagination-next-button"]\').click();', + wait_for="js:() => document.querySelectorAll('li.Box-sc-g0xbh4-0').length > 0" + ) + + result = await crawler.arun( + "https://github.com/microsoft/TypeScript/commits/main", + config=config + ) + + if result.success: + commit_count = result.cleaned_html.count('li.Box-sc-g0xbh4-0') + print(f"Page {page + 1}: Found {commit_count} commits") + + await crawler.crawler_strategy.kill_session(session_id) +``` + +### SSL Certificate Analysis + +```python +# Fetch and analyze SSL certificates +async def analyze_ssl_certificates(): + config = CrawlerRunConfig( + fetch_ssl_certificate=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com", config=config) + + if result.success and result.ssl_certificate: + cert = result.ssl_certificate + + # Basic certificate info + print(f"Issuer: {cert.issuer.get('CN', 'Unknown')}") + print(f"Subject: {cert.subject.get('CN', 'Unknown')}") + print(f"Valid from: {cert.valid_from}") + print(f"Valid until: {cert.valid_until}") + print(f"Fingerprint: {cert.fingerprint}") + + # Export certificate in different formats + import os + os.makedirs("certificates", exist_ok=True) + + cert.to_json("certificates/cert.json") + cert.to_pem("certificates/cert.pem") + cert.to_der("certificates/cert.der") + + print("Certificate exported in multiple formats") +``` + +### Advanced Page Interaction + +```python +# Complex page interactions with dynamic content +async def advanced_page_interaction(): + async with AsyncWebCrawler() as crawler: + # Multi-step interaction with waiting + config = CrawlerRunConfig( + js_code=[ + # Step 1: Scroll to load content + "window.scrollTo(0, document.body.scrollHeight);", + + # Step 2: Wait and click load more + """ + (async () => { + await new Promise(resolve => setTimeout(resolve, 2000)); + const loadMore = document.querySelector('.load-more'); + if (loadMore) loadMore.click(); + })(); + """ + ], + + # Wait for new content to appear + wait_for="js:() => document.querySelectorAll('.item').length > 20", + + # Additional timing controls + page_timeout=60000, # 60 second timeout + delay_before_return_html=2.0, # Wait before final capture + + # Handle overlays automatically + remove_overlay_elements=True, + magic=True, # Auto-handle common popup patterns + + # Simulate human behavior + simulate_user=True, + override_navigator=True + ) + + result = await crawler.arun("https://example.com/dynamic", config=config) + + if result.success: + print(f"Interactive crawl completed: {len(result.cleaned_html)} chars") + +# Form interaction example +async def form_interaction_example(): + config = CrawlerRunConfig( + js_code=""" + // Fill search form + document.querySelector('#search-input').value = 'machine learning'; + document.querySelector('#category-select').value = 'technology'; + document.querySelector('#search-form').submit(); + """, + wait_for="css:.search-results", + session_id="search_session" + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com/search", config=config) + print("Search completed, results loaded") +``` + +### Local File & Raw HTML Processing + +```python +# Handle different input types: URLs, local files, raw HTML +async def handle_different_inputs(): + async with AsyncWebCrawler() as crawler: + # 1. Regular web URL + result1 = await crawler.arun("https://example.com") + + # 2. Local HTML file + local_file_path = "/path/to/file.html" + result2 = await crawler.arun(f"file://{local_file_path}") + + # 3. Raw HTML content + raw_html = "

Test Content

Sample text

" + result3 = await crawler.arun(f"raw:{raw_html}") + + # All return the same CrawlResult structure + for i, result in enumerate([result1, result2, result3], 1): + if result.success: + print(f"Input {i}: {len(result.markdown)} chars of markdown") + +# Save and re-process HTML example +async def save_and_reprocess(): + async with AsyncWebCrawler() as crawler: + # Original crawl + result = await crawler.arun("https://example.com") + + if result.success: + # Save HTML to file + with open("saved_page.html", "w", encoding="utf-8") as f: + f.write(result.html) + + # Re-process from file + file_result = await crawler.arun("file://./saved_page.html") + + # Process as raw HTML + raw_result = await crawler.arun(f"raw:{result.html}") + + # Verify consistency + assert len(result.markdown) == len(file_result.markdown) == len(raw_result.markdown) + print("✅ All processing methods produced identical results") +``` + +### Advanced Link & Media Handling + +```python +# Comprehensive link and media extraction with filtering +async def advanced_link_media_handling(): + config = CrawlerRunConfig( + # Link filtering + exclude_external_links=False, # Keep external links for analysis + exclude_social_media_links=True, + exclude_domains=["ads.com", "tracker.io", "spammy.net"], + + # Media handling + exclude_external_images=True, + image_score_threshold=5, # Only high-quality images + table_score_threshold=7, # Only well-structured tables + wait_for_images=True, + + # Capture additional formats + screenshot=True, + pdf=True, + capture_mhtml=True # Full page archive + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com", config=config) + + if result.success: + # Analyze links + internal_links = result.links.get("internal", []) + external_links = result.links.get("external", []) + print(f"Links: {len(internal_links)} internal, {len(external_links)} external") + + # Analyze media + images = result.media.get("images", []) + tables = result.media.get("tables", []) + print(f"Media: {len(images)} images, {len(tables)} tables") + + # High-quality images only + quality_images = [img for img in images if img.get("score", 0) >= 5] + print(f"High-quality images: {len(quality_images)}") + + # Table analysis + for i, table in enumerate(tables[:2]): + print(f"Table {i+1}: {len(table.get('headers', []))} columns, {len(table.get('rows', []))} rows") + + # Save captured files + if result.screenshot: + import base64 + with open("page_screenshot.png", "wb") as f: + f.write(base64.b64decode(result.screenshot)) + + if result.pdf: + with open("page.pdf", "wb") as f: + f.write(result.pdf) + + if result.mhtml: + with open("page_archive.mhtml", "w", encoding="utf-8") as f: + f.write(result.mhtml) + + print("Additional formats saved: screenshot, PDF, MHTML archive") +``` + +### Performance & Resource Management + +```python +# Optimize performance for large-scale crawling +async def performance_optimized_crawling(): + # Lightweight browser config + browser_config = BrowserConfig( + headless=True, + text_mode=True, # Disable images for speed + light_mode=True, # Reduce background features + extra_args=["--disable-extensions", "--no-sandbox"] + ) + + # Efficient crawl config + config = CrawlerRunConfig( + # Content filtering for speed + excluded_tags=["script", "style", "nav", "footer"], + exclude_external_links=True, + exclude_all_images=True, # Remove all images for max speed + word_count_threshold=50, + + # Timing optimizations + page_timeout=30000, # Faster timeout + delay_before_return_html=0.1, + + # Resource monitoring + capture_network_requests=False, # Disable unless needed + capture_console_messages=False, + + # Cache for repeated URLs + cache_mode=CacheMode.ENABLED + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + urls = ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"] + + # Efficient batch processing + batch_config = config.clone( + stream=True, # Stream results as they complete + semaphore_count=3 # Control concurrency + ) + + async for result in await crawler.arun_many(urls, config=batch_config): + if result.success: + print(f"✅ {result.url}: {len(result.markdown)} chars") + else: + print(f"❌ {result.url}: {result.error_message}") +``` + +**📖 Learn more:** [Hooks & Authentication](https://docs.crawl4ai.com/advanced/hooks-auth/), [Session Management](https://docs.crawl4ai.com/advanced/session-management/), [Network Monitoring](https://docs.crawl4ai.com/advanced/network-console-capture/), [Page Interaction](https://docs.crawl4ai.com/core/page-interaction/), [File Downloads](https://docs.crawl4ai.com/advanced/file-downloading/) +--- + + +## Deep Crawling Filters & Scorers + +Advanced URL filtering and scoring strategies for intelligent deep crawling with performance optimization. + +### URL Filters - Content and Domain Control + +```python +from crawl4ai.deep_crawling.filters import ( + URLPatternFilter, DomainFilter, ContentTypeFilter, + FilterChain, ContentRelevanceFilter, SEOFilter +) + +# Pattern-based filtering +pattern_filter = URLPatternFilter( + patterns=[ + "*.html", # HTML pages only + "*/blog/*", # Blog posts + "*/articles/*", # Article pages + "*2024*", # Recent content + "^https://example.com/docs/.*" # Regex pattern + ], + use_glob=True, + reverse=False # False = include matching, True = exclude matching +) + +# Domain filtering with subdomains +domain_filter = DomainFilter( + allowed_domains=["example.com", "docs.example.com"], + blocked_domains=["ads.example.com", "tracker.com"] +) + +# Content type filtering +content_filter = ContentTypeFilter( + allowed_types=["text/html", "application/pdf"], + check_extension=True +) + +# Apply individual filters +url = "https://example.com/blog/2024/article.html" +print(f"Pattern filter: {pattern_filter.apply(url)}") +print(f"Domain filter: {domain_filter.apply(url)}") +print(f"Content filter: {content_filter.apply(url)}") +``` + +### Filter Chaining - Combine Multiple Filters + +```python +# Create filter chain for comprehensive filtering +filter_chain = FilterChain([ + DomainFilter(allowed_domains=["example.com"]), + URLPatternFilter(patterns=["*/blog/*", "*/docs/*"]), + ContentTypeFilter(allowed_types=["text/html"]) +]) + +# Apply chain to URLs +urls = [ + "https://example.com/blog/post1.html", + "https://spam.com/content.html", + "https://example.com/blog/image.jpg", + "https://example.com/docs/guide.html" +] + +async def filter_urls(urls, filter_chain): + filtered = [] + for url in urls: + if await filter_chain.apply(url): + filtered.append(url) + return filtered + +# Usage +filtered_urls = await filter_urls(urls, filter_chain) +print(f"Filtered URLs: {filtered_urls}") + +# Check filter statistics +for filter_obj in filter_chain.filters: + stats = filter_obj.stats + print(f"{filter_obj.name}: {stats.passed_urls}/{stats.total_urls} passed") +``` + +### Advanced Content Filters + +```python +# BM25-based content relevance filtering +relevance_filter = ContentRelevanceFilter( + query="python machine learning tutorial", + threshold=0.5, # Minimum relevance score + k1=1.2, # TF saturation parameter + b=0.75, # Length normalization + avgdl=1000 # Average document length +) + +# SEO quality filtering +seo_filter = SEOFilter( + threshold=0.65, # Minimum SEO score + keywords=["python", "tutorial", "guide"], + weights={ + "title_length": 0.15, + "title_kw": 0.18, + "meta_description": 0.12, + "canonical": 0.10, + "robot_ok": 0.20, + "schema_org": 0.10, + "url_quality": 0.15 + } +) + +# Apply advanced filters +url = "https://example.com/python-ml-tutorial" +relevance_score = await relevance_filter.apply(url) +seo_score = await seo_filter.apply(url) + +print(f"Relevance: {relevance_score}, SEO: {seo_score}") +``` + +### URL Scorers - Quality and Relevance Scoring + +```python +from crawl4ai.deep_crawling.scorers import ( + KeywordRelevanceScorer, PathDepthScorer, ContentTypeScorer, + FreshnessScorer, DomainAuthorityScorer, CompositeScorer +) + +# Keyword relevance scoring +keyword_scorer = KeywordRelevanceScorer( + keywords=["python", "tutorial", "guide", "machine", "learning"], + weight=1.0, + case_sensitive=False +) + +# Path depth scoring (optimal depth = 3) +depth_scorer = PathDepthScorer( + optimal_depth=3, # /category/subcategory/article + weight=0.8 +) + +# Content type scoring +content_type_scorer = ContentTypeScorer( + type_weights={ + "html": 1.0, # Highest priority + "pdf": 0.8, # Medium priority + "txt": 0.6, # Lower priority + "doc": 0.4 # Lowest priority + }, + weight=0.9 +) + +# Freshness scoring +freshness_scorer = FreshnessScorer( + weight=0.7, + current_year=2024 +) + +# Domain authority scoring +domain_scorer = DomainAuthorityScorer( + domain_weights={ + "python.org": 1.0, + "github.com": 0.9, + "stackoverflow.com": 0.85, + "medium.com": 0.7, + "personal-blog.com": 0.3 + }, + default_weight=0.5, + weight=1.0 +) + +# Score individual URLs +url = "https://python.org/tutorial/2024/machine-learning.html" +scores = { + "keyword": keyword_scorer.score(url), + "depth": depth_scorer.score(url), + "content": content_type_scorer.score(url), + "freshness": freshness_scorer.score(url), + "domain": domain_scorer.score(url) +} + +print(f"Individual scores: {scores}") +``` + +### Composite Scoring - Combine Multiple Scorers + +```python +# Create composite scorer combining all strategies +composite_scorer = CompositeScorer( + scorers=[ + KeywordRelevanceScorer(["python", "tutorial"], weight=1.5), + PathDepthScorer(optimal_depth=3, weight=1.0), + ContentTypeScorer({"html": 1.0, "pdf": 0.8}, weight=1.2), + FreshnessScorer(weight=0.8, current_year=2024), + DomainAuthorityScorer({ + "python.org": 1.0, + "github.com": 0.9 + }, weight=1.3) + ], + normalize=True # Normalize by number of scorers +) + +# Score multiple URLs +urls_to_score = [ + "https://python.org/tutorial/2024/basics.html", + "https://github.com/user/python-guide/blob/main/README.md", + "https://random-blog.com/old/2018/python-stuff.html", + "https://python.org/docs/deep/nested/advanced/guide.html" +] + +scored_urls = [] +for url in urls_to_score: + score = composite_scorer.score(url) + scored_urls.append((url, score)) + +# Sort by score (highest first) +scored_urls.sort(key=lambda x: x[1], reverse=True) + +for url, score in scored_urls: + print(f"Score: {score:.3f} - {url}") + +# Check scorer statistics +print(f"\nScoring statistics:") +print(f"URLs scored: {composite_scorer.stats._urls_scored}") +print(f"Average score: {composite_scorer.stats.get_average():.3f}") +``` + +### Advanced Filter Patterns + +```python +# Complex pattern matching +advanced_patterns = URLPatternFilter( + patterns=[ + r"^https://docs\.python\.org/\d+/", # Python docs with version + r".*/tutorial/.*\.html$", # Tutorial pages + r".*/guide/(?!deprecated).*", # Guides but not deprecated + "*/blog/{2020,2021,2022,2023,2024}/*", # Recent blog posts + "**/{api,reference}/**/*.html" # API/reference docs + ], + use_glob=True +) + +# Exclude patterns (reverse=True) +exclude_filter = URLPatternFilter( + patterns=[ + "*/admin/*", + "*/login/*", + "*/private/*", + "**/.*", # Hidden files + "*.{jpg,png,gif,css,js}$" # Media and assets + ], + reverse=True # Exclude matching patterns +) + +# Content type with extension mapping +detailed_content_filter = ContentTypeFilter( + allowed_types=["text", "application"], + check_extension=True, + ext_map={ + "html": "text/html", + "htm": "text/html", + "md": "text/markdown", + "pdf": "application/pdf", + "doc": "application/msword", + "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document" + } +) +``` + +### Performance-Optimized Filtering + +```python +# High-performance filter chain for large-scale crawling +class OptimizedFilterChain: + def __init__(self): + # Fast filters first (domain, patterns) + self.fast_filters = [ + DomainFilter( + allowed_domains=["example.com", "docs.example.com"], + blocked_domains=["ads.example.com"] + ), + URLPatternFilter([ + "*.html", "*.pdf", "*/blog/*", "*/docs/*" + ]) + ] + + # Slower filters last (content analysis) + self.slow_filters = [ + ContentRelevanceFilter( + query="important content", + threshold=0.3 + ) + ] + + async def apply_optimized(self, url: str) -> bool: + # Apply fast filters first + for filter_obj in self.fast_filters: + if not filter_obj.apply(url): + return False + + # Only apply slow filters if fast filters pass + for filter_obj in self.slow_filters: + if not await filter_obj.apply(url): + return False + + return True + +# Batch filtering with concurrency +async def batch_filter_urls(urls, filter_chain, max_concurrent=50): + import asyncio + semaphore = asyncio.Semaphore(max_concurrent) + + async def filter_single(url): + async with semaphore: + return await filter_chain.apply(url), url + + tasks = [filter_single(url) for url in urls] + results = await asyncio.gather(*tasks) + + return [url for passed, url in results if passed] + +# Usage with 1000 URLs +large_url_list = [f"https://example.com/page{i}.html" for i in range(1000)] +optimized_chain = OptimizedFilterChain() +filtered = await batch_filter_urls(large_url_list, optimized_chain) +``` + +### Custom Filter Implementation + +```python +from crawl4ai.deep_crawling.filters import URLFilter +import re + +class CustomLanguageFilter(URLFilter): + """Filter URLs by language indicators""" + + def __init__(self, allowed_languages=["en"], weight=1.0): + super().__init__() + self.allowed_languages = set(allowed_languages) + self.lang_patterns = { + "en": re.compile(r"/en/|/english/|lang=en"), + "es": re.compile(r"/es/|/spanish/|lang=es"), + "fr": re.compile(r"/fr/|/french/|lang=fr"), + "de": re.compile(r"/de/|/german/|lang=de") + } + + def apply(self, url: str) -> bool: + # Default to English if no language indicators + if not any(pattern.search(url) for pattern in self.lang_patterns.values()): + result = "en" in self.allowed_languages + self._update_stats(result) + return result + + # Check for allowed languages + for lang in self.allowed_languages: + if lang in self.lang_patterns: + if self.lang_patterns[lang].search(url): + self._update_stats(True) + return True + + self._update_stats(False) + return False + +# Custom scorer implementation +from crawl4ai.deep_crawling.scorers import URLScorer + +class CustomComplexityScorer(URLScorer): + """Score URLs by content complexity indicators""" + + def __init__(self, weight=1.0): + super().__init__(weight) + self.complexity_indicators = { + "tutorial": 0.9, + "guide": 0.8, + "example": 0.7, + "reference": 0.6, + "api": 0.5 + } + + def _calculate_score(self, url: str) -> float: + url_lower = url.lower() + max_score = 0.0 + + for indicator, score in self.complexity_indicators.items(): + if indicator in url_lower: + max_score = max(max_score, score) + + return max_score + +# Use custom filters and scorers +custom_filter = CustomLanguageFilter(allowed_languages=["en", "es"]) +custom_scorer = CustomComplexityScorer(weight=1.2) + +url = "https://example.com/en/tutorial/advanced-guide.html" +passes_filter = custom_filter.apply(url) +complexity_score = custom_scorer.score(url) + +print(f"Passes language filter: {passes_filter}") +print(f"Complexity score: {complexity_score}") +``` + +### Integration with Deep Crawling + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig +from crawl4ai.deep_crawling import DeepCrawlStrategy + +async def deep_crawl_with_filtering(): + # Create comprehensive filter chain + filter_chain = FilterChain([ + DomainFilter(allowed_domains=["python.org"]), + URLPatternFilter(["*/tutorial/*", "*/guide/*", "*/docs/*"]), + ContentTypeFilter(["text/html"]), + SEOFilter(threshold=0.6, keywords=["python", "programming"]) + ]) + + # Create composite scorer + scorer = CompositeScorer([ + KeywordRelevanceScorer(["python", "tutorial"], weight=1.5), + FreshnessScorer(weight=0.8), + PathDepthScorer(optimal_depth=3, weight=1.0) + ], normalize=True) + + # Configure deep crawl strategy with filters and scorers + deep_strategy = DeepCrawlStrategy( + max_depth=3, + max_pages=100, + url_filter=filter_chain, + url_scorer=scorer, + score_threshold=0.6 # Only crawl URLs scoring above 0.6 + ) + + config = CrawlerRunConfig( + deep_crawl_strategy=deep_strategy, + cache_mode=CacheMode.BYPASS + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun( + url="https://python.org", + config=config + ) + + print(f"Deep crawl completed: {result.success}") + if hasattr(result, 'deep_crawl_results'): + print(f"Pages crawled: {len(result.deep_crawl_results)}") + +# Run the deep crawl +await deep_crawl_with_filtering() +``` + +**📖 Learn more:** [Deep Crawling Strategy](https://docs.crawl4ai.com/core/deep-crawling/), [Custom Filter Development](https://docs.crawl4ai.com/advanced/custom-filters/), [Performance Optimization](https://docs.crawl4ai.com/advanced/performance-tuning/) +--- + + +## Summary + +Crawl4AI provides a comprehensive solution for web crawling and data extraction optimized for AI applications. From simple page crawling to complex multi-URL operations with advanced filtering, the library offers the flexibility and performance needed for modern data extraction workflows. + +**Key Takeaways:** +- Start with basic installation and simple crawling patterns +- Use configuration objects for consistent, maintainable code +- Choose appropriate extraction strategies based on your data structure +- Leverage Docker for production deployments +- Implement advanced features like deep crawling and custom filters as needed + +**Next Steps:** +- Explore the [GitHub repository](https://github.com/unclecode/crawl4ai) for latest updates +- Join the [Discord community](https://discord.gg/jP8KfhDhyN) for support +- Check out [example projects](https://github.com/unclecode/crawl4ai/tree/main/docs/examples) for inspiration + +Happy crawling! 🕷️ diff --git a/docs/md_v2/assets/llm.txt/txt/multi_urls_crawling.txt b/docs/md_v2/assets/llm.txt/txt/multi_urls_crawling.txt new file mode 100644 index 00000000..4aea4dc4 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/multi_urls_crawling.txt @@ -0,0 +1,339 @@ +## Multi-URL Crawling + +Concurrent crawling of multiple URLs with intelligent resource management, rate limiting, and real-time monitoring. + +### Basic Multi-URL Crawling + +```python +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode + +# Batch processing (default) - get all results at once +async def batch_crawl(): + urls = [ + "https://example.com/page1", + "https://example.com/page2", + "https://example.com/page3" + ] + + config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + stream=False # Default: batch mode + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many(urls, config=config) + + for result in results: + if result.success: + print(f"✅ {result.url}: {len(result.markdown)} chars") + else: + print(f"❌ {result.url}: {result.error_message}") + +# Streaming processing - handle results as they complete +async def streaming_crawl(): + config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + stream=True # Enable streaming + ) + + async with AsyncWebCrawler() as crawler: + # Process results as they become available + async for result in await crawler.arun_many(urls, config=config): + if result.success: + print(f"🔥 Just completed: {result.url}") + await process_result_immediately(result) + else: + print(f"❌ Failed: {result.url}") +``` + +### Memory-Adaptive Dispatching + +```python +from crawl4ai import AsyncWebCrawler, MemoryAdaptiveDispatcher, CrawlerMonitor, DisplayMode + +# Automatically manages concurrency based on system memory +async def memory_adaptive_crawl(): + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=80.0, # Pause if memory exceeds 80% + check_interval=1.0, # Check memory every second + max_session_permit=15, # Max concurrent tasks + memory_wait_timeout=300.0 # Wait up to 5 minutes for memory + ) + + config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + word_count_threshold=50 + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many( + urls=large_url_list, + config=config, + dispatcher=dispatcher + ) + + # Each result includes dispatch information + for result in results: + if result.dispatch_result: + dr = result.dispatch_result + print(f"Memory used: {dr.memory_usage:.1f}MB") + print(f"Duration: {dr.end_time - dr.start_time}") +``` + +### Rate-Limited Crawling + +```python +from crawl4ai import RateLimiter, SemaphoreDispatcher + +# Control request pacing and handle server rate limits +async def rate_limited_crawl(): + rate_limiter = RateLimiter( + base_delay=(1.0, 3.0), # Random delay 1-3 seconds + max_delay=60.0, # Cap backoff at 60 seconds + max_retries=3, # Retry failed requests 3 times + rate_limit_codes=[429, 503] # Handle these status codes + ) + + dispatcher = SemaphoreDispatcher( + max_session_permit=5, # Fixed concurrency limit + rate_limiter=rate_limiter + ) + + config = CrawlerRunConfig( + user_agent_mode="random", # Randomize user agents + simulate_user=True # Simulate human behavior + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun_many( + urls=urls, + config=config, + dispatcher=dispatcher + ): + print(f"Processed: {result.url}") +``` + +### Real-Time Monitoring + +```python +from crawl4ai import CrawlerMonitor, DisplayMode + +# Monitor crawling progress in real-time +async def monitored_crawl(): + monitor = CrawlerMonitor( + max_visible_rows=20, # Show 20 tasks in display + display_mode=DisplayMode.DETAILED # Show individual task details + ) + + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=75.0, + max_session_permit=10, + monitor=monitor # Attach monitor to dispatcher + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many( + urls=urls, + dispatcher=dispatcher + ) +``` + +### Advanced Dispatcher Configurations + +```python +# Memory-adaptive with comprehensive monitoring +memory_dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=85.0, # Higher memory tolerance + check_interval=0.5, # Check memory more frequently + max_session_permit=20, # More concurrent tasks + memory_wait_timeout=600.0, # Wait longer for memory + rate_limiter=RateLimiter( + base_delay=(0.5, 1.5), + max_delay=30.0, + max_retries=5 + ), + monitor=CrawlerMonitor( + max_visible_rows=15, + display_mode=DisplayMode.AGGREGATED # Summary view + ) +) + +# Simple semaphore-based dispatcher +semaphore_dispatcher = SemaphoreDispatcher( + max_session_permit=8, # Fixed concurrency + rate_limiter=RateLimiter( + base_delay=(1.0, 2.0), + max_delay=20.0 + ) +) + +# Usage with custom dispatcher +async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many( + urls=urls, + config=config, + dispatcher=memory_dispatcher # or semaphore_dispatcher + ) +``` + +### Handling Large-Scale Crawling + +```python +async def large_scale_crawl(): + # For thousands of URLs + urls = load_urls_from_file("large_url_list.txt") # 10,000+ URLs + + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=70.0, # Conservative memory usage + max_session_permit=25, # Higher concurrency + rate_limiter=RateLimiter( + base_delay=(0.1, 0.5), # Faster for large batches + max_retries=2 # Fewer retries for speed + ), + monitor=CrawlerMonitor(display_mode=DisplayMode.AGGREGATED) + ) + + config = CrawlerRunConfig( + cache_mode=CacheMode.ENABLED, # Use caching for efficiency + stream=True, # Stream for memory efficiency + word_count_threshold=100, # Skip short content + exclude_external_links=True # Reduce processing overhead + ) + + successful_crawls = 0 + failed_crawls = 0 + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun_many( + urls=urls, + config=config, + dispatcher=dispatcher + ): + if result.success: + successful_crawls += 1 + await save_result_to_database(result) + else: + failed_crawls += 1 + await log_failure(result.url, result.error_message) + + # Progress reporting + if (successful_crawls + failed_crawls) % 100 == 0: + print(f"Progress: {successful_crawls + failed_crawls}/{len(urls)}") + + print(f"Completed: {successful_crawls} successful, {failed_crawls} failed") +``` + +### Robots.txt Compliance + +```python +async def compliant_crawl(): + config = CrawlerRunConfig( + check_robots_txt=True, # Respect robots.txt + user_agent="MyBot/1.0", # Identify your bot + mean_delay=2.0, # Be polite with delays + max_range=1.0 + ) + + dispatcher = SemaphoreDispatcher( + max_session_permit=3, # Conservative concurrency + rate_limiter=RateLimiter( + base_delay=(2.0, 5.0), # Slower, more respectful + max_retries=1 + ) + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun_many( + urls=urls, + config=config, + dispatcher=dispatcher + ): + if result.success: + print(f"✅ Crawled: {result.url}") + elif "robots.txt" in result.error_message: + print(f"🚫 Blocked by robots.txt: {result.url}") + else: + print(f"❌ Error: {result.url}") +``` + +### Performance Analysis + +```python +async def analyze_crawl_performance(): + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=80.0, + max_session_permit=12, + monitor=CrawlerMonitor(display_mode=DisplayMode.DETAILED) + ) + + start_time = time.time() + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun_many( + urls=urls, + dispatcher=dispatcher + ) + + end_time = time.time() + + # Analyze results + successful = [r for r in results if r.success] + failed = [r for r in results if not r.success] + + print(f"Total time: {end_time - start_time:.2f}s") + print(f"Success rate: {len(successful)}/{len(results)} ({len(successful)/len(results)*100:.1f}%)") + print(f"Avg time per URL: {(end_time - start_time)/len(results):.2f}s") + + # Memory usage analysis + if successful and successful[0].dispatch_result: + memory_usage = [r.dispatch_result.memory_usage for r in successful if r.dispatch_result] + peak_memory = [r.dispatch_result.peak_memory for r in successful if r.dispatch_result] + + print(f"Avg memory usage: {sum(memory_usage)/len(memory_usage):.1f}MB") + print(f"Peak memory usage: {max(peak_memory):.1f}MB") +``` + +### Error Handling and Recovery + +```python +async def robust_multi_crawl(): + failed_urls = [] + + config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + stream=True, + page_timeout=30000 # 30 second timeout + ) + + dispatcher = MemoryAdaptiveDispatcher( + memory_threshold_percent=85.0, + max_session_permit=10 + ) + + async with AsyncWebCrawler() as crawler: + async for result in await crawler.arun_many( + urls=urls, + config=config, + dispatcher=dispatcher + ): + if result.success: + await process_successful_result(result) + else: + failed_urls.append({ + 'url': result.url, + 'error': result.error_message, + 'status_code': result.status_code + }) + + # Retry logic for specific errors + if result.status_code in [503, 429]: # Server errors + await schedule_retry(result.url) + + # Report failures + if failed_urls: + print(f"Failed to crawl {len(failed_urls)} URLs:") + for failure in failed_urls[:10]: # Show first 10 + print(f" {failure['url']}: {failure['error']}") +``` + +**📖 Learn more:** [Advanced Multi-URL Crawling](https://docs.crawl4ai.com/advanced/multi-url-crawling/), [Crawl Dispatcher](https://docs.crawl4ai.com/advanced/crawl-dispatcher/), [arun_many() API Reference](https://docs.crawl4ai.com/api/arun_many/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/simple_crawling.txt b/docs/md_v2/assets/llm.txt/txt/simple_crawling.txt new file mode 100644 index 00000000..a9c4accb --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/simple_crawling.txt @@ -0,0 +1,365 @@ +## Simple Crawling + +Basic web crawling operations with AsyncWebCrawler, configurations, and response handling. + +### Basic Setup + +```python +import asyncio +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig + +async def main(): + browser_config = BrowserConfig() # Default browser settings + run_config = CrawlerRunConfig() # Default crawl settings + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun( + url="https://example.com", + config=run_config + ) + print(result.markdown) + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### Understanding CrawlResult + +```python +from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator +from crawl4ai.content_filter_strategy import PruningContentFilter + +config = CrawlerRunConfig( + markdown_generator=DefaultMarkdownGenerator( + content_filter=PruningContentFilter(threshold=0.6), + options={"ignore_links": True} + ) +) + +result = await crawler.arun("https://example.com", config=config) + +# Different content formats +print(result.html) # Raw HTML +print(result.cleaned_html) # Cleaned HTML +print(result.markdown.raw_markdown) # Raw markdown +print(result.markdown.fit_markdown) # Filtered markdown + +# Status information +print(result.success) # True/False +print(result.status_code) # HTTP status (200, 404, etc.) + +# Extracted content +print(result.media) # Images, videos, audio +print(result.links) # Internal/external links +``` + +### Basic Configuration Options + +```python +run_config = CrawlerRunConfig( + word_count_threshold=10, # Min words per block + exclude_external_links=True, # Remove external links + remove_overlay_elements=True, # Remove popups/modals + process_iframes=True, # Process iframe content + excluded_tags=['form', 'header'] # Skip these tags +) + +result = await crawler.arun("https://example.com", config=run_config) +``` + +### Error Handling + +```python +result = await crawler.arun("https://example.com", config=run_config) + +if not result.success: + print(f"Crawl failed: {result.error_message}") + print(f"Status code: {result.status_code}") +else: + print(f"Success! Content length: {len(result.markdown)}") +``` + +### Debugging with Verbose Logging + +```python +browser_config = BrowserConfig(verbose=True) + +async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun("https://example.com") + # Detailed logging output will be displayed +``` + +### Complete Example + +```python +import asyncio +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode + +async def comprehensive_crawl(): + browser_config = BrowserConfig(verbose=True) + + run_config = CrawlerRunConfig( + # Content filtering + word_count_threshold=10, + excluded_tags=['form', 'header', 'nav'], + exclude_external_links=True, + + # Content processing + process_iframes=True, + remove_overlay_elements=True, + + # Cache control + cache_mode=CacheMode.ENABLED + ) + + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await crawler.arun( + url="https://example.com", + config=run_config + ) + + if result.success: + # Display content summary + print(f"Title: {result.metadata.get('title', 'No title')}") + print(f"Content: {result.markdown[:500]}...") + + # Process media + images = result.media.get("images", []) + print(f"Found {len(images)} images") + for img in images[:3]: # First 3 images + print(f" - {img.get('src', 'No src')}") + + # Process links + internal_links = result.links.get("internal", []) + print(f"Found {len(internal_links)} internal links") + for link in internal_links[:3]: # First 3 links + print(f" - {link.get('href', 'No href')}") + + else: + print(f"❌ Crawl failed: {result.error_message}") + print(f"Status: {result.status_code}") + +if __name__ == "__main__": + asyncio.run(comprehensive_crawl()) +``` + +### Working with Raw HTML and Local Files + +```python +# Crawl raw HTML +raw_html = "

Test

Content

" +result = await crawler.arun(f"raw://{raw_html}") + +# Crawl local file +result = await crawler.arun("file:///path/to/local/file.html") + +# Both return standard CrawlResult objects +print(result.markdown) +``` + +## Table Extraction + +Extract structured data from HTML tables with automatic detection and scoring. + +### Basic Table Extraction + +```python +import asyncio +import pandas as pd +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode + +async def extract_tables(): + async with AsyncWebCrawler() as crawler: + config = CrawlerRunConfig( + table_score_threshold=7, # Higher = stricter detection + cache_mode=CacheMode.BYPASS + ) + + result = await crawler.arun("https://example.com/tables", config=config) + + if result.success and result.tables: + # New tables field (v0.6+) + for i, table in enumerate(result.tables): + print(f"Table {i+1}:") + print(f"Headers: {table['headers']}") + print(f"Rows: {len(table['rows'])}") + print(f"Caption: {table.get('caption', 'No caption')}") + + # Convert to DataFrame + df = pd.DataFrame(table['rows'], columns=table['headers']) + print(df.head()) + +asyncio.run(extract_tables()) +``` + +### Advanced Table Processing + +```python +from crawl4ai import LXMLWebScrapingStrategy + +async def process_financial_tables(): + config = CrawlerRunConfig( + table_score_threshold=8, # Strict detection for data tables + scraping_strategy=LXMLWebScrapingStrategy(), + keep_data_attributes=True, + scan_full_page=True + ) + + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://coinmarketcap.com", config=config) + + if result.tables: + # Get the main data table (usually first/largest) + main_table = result.tables[0] + + # Create DataFrame + df = pd.DataFrame( + main_table['rows'], + columns=main_table['headers'] + ) + + # Clean and process data + df = clean_financial_data(df) + + # Save for analysis + df.to_csv("market_data.csv", index=False) + return df + +def clean_financial_data(df): + """Clean currency symbols, percentages, and large numbers""" + for col in df.columns: + if 'price' in col.lower(): + # Remove currency symbols + df[col] = df[col].str.replace(r'[^\d.]', '', regex=True) + df[col] = pd.to_numeric(df[col], errors='coerce') + + elif '%' in str(df[col].iloc[0]): + # Convert percentages + df[col] = df[col].str.replace('%', '').astype(float) / 100 + + elif any(suffix in str(df[col].iloc[0]) for suffix in ['B', 'M', 'K']): + # Handle large numbers (Billions, Millions, etc.) + df[col] = df[col].apply(convert_large_numbers) + + return df + +def convert_large_numbers(value): + """Convert 1.5B -> 1500000000""" + if pd.isna(value): + return float('nan') + + value = str(value) + multiplier = 1 + if 'B' in value: + multiplier = 1e9 + elif 'M' in value: + multiplier = 1e6 + elif 'K' in value: + multiplier = 1e3 + + number = float(re.sub(r'[^\d.]', '', value)) + return number * multiplier +``` + +### Table Detection Configuration + +```python +# Strict table detection (data-heavy pages) +strict_config = CrawlerRunConfig( + table_score_threshold=9, # Only high-quality tables + word_count_threshold=5, # Ignore sparse content + excluded_tags=['nav', 'footer'] # Skip navigation tables +) + +# Lenient detection (mixed content pages) +lenient_config = CrawlerRunConfig( + table_score_threshold=5, # Include layout tables + process_iframes=True, # Check embedded tables + scan_full_page=True # Scroll to load dynamic tables +) + +# Financial/data site optimization +financial_config = CrawlerRunConfig( + table_score_threshold=8, + scraping_strategy=LXMLWebScrapingStrategy(), + wait_for="css:table", # Wait for tables to load + scan_full_page=True, + scroll_delay=0.2 +) +``` + +### Multi-Table Processing + +```python +async def extract_all_tables(): + async with AsyncWebCrawler() as crawler: + result = await crawler.arun("https://example.com/data", config=config) + + tables_data = {} + + for i, table in enumerate(result.tables): + # Create meaningful names based on content + table_name = ( + table.get('caption') or + f"table_{i+1}_{table['headers'][0]}" + ).replace(' ', '_').lower() + + df = pd.DataFrame(table['rows'], columns=table['headers']) + + # Store with metadata + tables_data[table_name] = { + 'dataframe': df, + 'headers': table['headers'], + 'row_count': len(table['rows']), + 'caption': table.get('caption'), + 'summary': table.get('summary') + } + + return tables_data + +# Usage +tables = await extract_all_tables() +for name, data in tables.items(): + print(f"{name}: {data['row_count']} rows") + data['dataframe'].to_csv(f"{name}.csv") +``` + +### Backward Compatibility + +```python +# Support both new and old table formats +def get_tables(result): + # New format (v0.6+) + if hasattr(result, 'tables') and result.tables: + return result.tables + + # Fallback to media.tables (older versions) + return result.media.get('tables', []) + +# Usage in existing code +result = await crawler.arun(url, config=config) +tables = get_tables(result) + +for table in tables: + df = pd.DataFrame(table['rows'], columns=table['headers']) + # Process table data... +``` + +### Table Quality Scoring + +```python +# Understanding table_score_threshold values: +# 10: Only perfect data tables (headers + data rows) +# 8-9: High-quality tables (recommended for financial/data sites) +# 6-7: Mixed content tables (news sites, wikis) +# 4-5: Layout tables included (broader detection) +# 1-3: All table-like structures (very permissive) + +config = CrawlerRunConfig( + table_score_threshold=8, # Balanced detection + verbose=True # See scoring details in logs +) +``` + + +**📖 Learn more:** [CrawlResult API Reference](https://docs.crawl4ai.com/api/crawl-result/), [Browser & Crawler Configuration](https://docs.crawl4ai.com/core/browser-crawler-config/), [Cache Modes](https://docs.crawl4ai.com/core/cache-modes/) \ No newline at end of file diff --git a/docs/md_v2/assets/llm.txt/txt/url_seeder.txt b/docs/md_v2/assets/llm.txt/txt/url_seeder.txt new file mode 100644 index 00000000..d549b391 --- /dev/null +++ b/docs/md_v2/assets/llm.txt/txt/url_seeder.txt @@ -0,0 +1,655 @@ +## URL Seeding + +Smart URL discovery for efficient large-scale crawling. Discover thousands of URLs instantly, filter by relevance, then crawl only what matters. + +### Why URL Seeding vs Deep Crawling + +```python +# Deep Crawling: Real-time discovery (page by page) +from crawl4ai import AsyncWebCrawler, CrawlerRunConfig +from crawl4ai.deep_crawling import BFSDeepCrawlStrategy + +async def deep_crawl_example(): + config = CrawlerRunConfig( + deep_crawl_strategy=BFSDeepCrawlStrategy( + max_depth=2, + include_external=False, + max_pages=50 + ) + ) + + async with AsyncWebCrawler() as crawler: + results = await crawler.arun("https://example.com", config=config) + print(f"Discovered {len(results)} pages dynamically") + +# URL Seeding: Bulk discovery (thousands instantly) +from crawl4ai import AsyncUrlSeeder, SeedingConfig + +async def url_seeding_example(): + config = SeedingConfig( + source="sitemap+cc", + pattern="*/docs/*", + extract_head=True, + query="API documentation", + scoring_method="bm25", + max_urls=1000 + ) + + async with AsyncUrlSeeder() as seeder: + urls = await seeder.urls("example.com", config) + print(f"Discovered {len(urls)} URLs instantly") + # Now crawl only the most relevant ones +``` + +### Basic URL Discovery + +```python +import asyncio +from crawl4ai import AsyncUrlSeeder, SeedingConfig + +async def basic_discovery(): + # Context manager handles cleanup automatically + async with AsyncUrlSeeder() as seeder: + + # Simple discovery from sitemaps + config = SeedingConfig(source="sitemap") + urls = await seeder.urls("example.com", config) + + print(f"Found {len(urls)} URLs from sitemap") + for url in urls[:5]: + print(f" - {url['url']} (status: {url['status']})") + +# Manual cleanup (if needed) +async def manual_cleanup(): + seeder = AsyncUrlSeeder() + try: + config = SeedingConfig(source="cc") # Common Crawl + urls = await seeder.urls("example.com", config) + print(f"Found {len(urls)} URLs from Common Crawl") + finally: + await seeder.close() + +asyncio.run(basic_discovery()) +``` + +### Data Sources and Patterns + +```python +# Different data sources +configs = [ + SeedingConfig(source="sitemap"), # Fastest, official URLs + SeedingConfig(source="cc"), # Most comprehensive + SeedingConfig(source="sitemap+cc"), # Maximum coverage +] + +# URL pattern filtering +patterns = [ + SeedingConfig(pattern="*/blog/*"), # Blog posts only + SeedingConfig(pattern="*.html"), # HTML files only + SeedingConfig(pattern="*/product/*"), # Product pages + SeedingConfig(pattern="*/docs/api/*"), # API documentation + SeedingConfig(pattern="*"), # Everything +] + +# Advanced pattern usage +async def pattern_filtering(): + async with AsyncUrlSeeder() as seeder: + # Find all blog posts from 2024 + config = SeedingConfig( + source="sitemap", + pattern="*/blog/2024/*.html", + max_urls=100 + ) + + blog_urls = await seeder.urls("example.com", config) + + # Further filter by keywords in URL + python_posts = [ + url for url in blog_urls + if "python" in url['url'].lower() + ] + + print(f"Found {len(python_posts)} Python blog posts") +``` + +### SeedingConfig Parameters + +```python +from crawl4ai import SeedingConfig + +# Comprehensive configuration +config = SeedingConfig( + # Data sources + source="sitemap+cc", # "sitemap", "cc", "sitemap+cc" + pattern="*/docs/*", # URL pattern filter + + # Metadata extraction + extract_head=True, # Get metadata + live_check=True, # Verify URLs are accessible + + # Performance controls + max_urls=1000, # Limit results (-1 = unlimited) + concurrency=20, # Parallel workers + hits_per_sec=10, # Rate limiting + + # Relevance scoring + query="API documentation guide", # Search query + scoring_method="bm25", # Scoring algorithm + score_threshold=0.3, # Minimum relevance (0.0-1.0) + + # Cache and filtering + force=False, # Bypass cache + filter_nonsense_urls=True, # Remove utility URLs + verbose=True # Debug output +) + +# Quick configurations for common use cases +blog_config = SeedingConfig( + source="sitemap", + pattern="*/blog/*", + extract_head=True +) + +api_docs_config = SeedingConfig( + source="sitemap+cc", + pattern="*/docs/*", + query="API reference documentation", + scoring_method="bm25", + score_threshold=0.5 +) + +product_pages_config = SeedingConfig( + source="cc", + pattern="*/product/*", + live_check=True, + max_urls=500 +) +``` + +### Metadata Extraction and Analysis + +```python +async def metadata_extraction(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + extract_head=True, # Extract metadata + pattern="*/blog/*", + max_urls=50 + ) + + urls = await seeder.urls("example.com", config) + + # Analyze extracted metadata + for url in urls[:5]: + head_data = url['head_data'] + print(f"\nURL: {url['url']}") + print(f"Title: {head_data.get('title', 'No title')}") + + # Standard meta tags + meta = head_data.get('meta', {}) + print(f"Description: {meta.get('description', 'N/A')}") + print(f"Keywords: {meta.get('keywords', 'N/A')}") + print(f"Author: {meta.get('author', 'N/A')}") + + # Open Graph data + print(f"OG Image: {meta.get('og:image', 'N/A')}") + print(f"OG Type: {meta.get('og:type', 'N/A')}") + + # JSON-LD structured data + jsonld = head_data.get('jsonld', []) + if jsonld: + print(f"Structured data: {len(jsonld)} items") + for item in jsonld[:2]: + if isinstance(item, dict): + print(f" Type: {item.get('@type', 'Unknown')}") + print(f" Name: {item.get('name', 'N/A')}") + +# Filter by metadata +async def metadata_filtering(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + extract_head=True, + max_urls=100 + ) + + urls = await seeder.urls("news.example.com", config) + + # Filter by publication date (from JSON-LD) + from datetime import datetime, timedelta + recent_cutoff = datetime.now() - timedelta(days=7) + + recent_articles = [] + for url in urls: + for jsonld in url['head_data'].get('jsonld', []): + if isinstance(jsonld, dict) and 'datePublished' in jsonld: + try: + pub_date = datetime.fromisoformat( + jsonld['datePublished'].replace('Z', '+00:00') + ) + if pub_date > recent_cutoff: + recent_articles.append(url) + break + except: + continue + + print(f"Found {len(recent_articles)} recent articles") +``` + +### BM25 Relevance Scoring + +```python +async def relevance_scoring(): + async with AsyncUrlSeeder() as seeder: + # Find pages about Python async programming + config = SeedingConfig( + source="sitemap", + extract_head=True, # Required for content-based scoring + query="python async await concurrency", + scoring_method="bm25", + score_threshold=0.3, # Only 30%+ relevant pages + max_urls=20 + ) + + urls = await seeder.urls("docs.python.org", config) + + # Results are automatically sorted by relevance + print("Most relevant Python async content:") + for url in urls[:5]: + score = url['relevance_score'] + title = url['head_data'].get('title', 'No title') + print(f"[{score:.2f}] {title}") + print(f" {url['url']}") + +# URL-based scoring (when extract_head=False) +async def url_based_scoring(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + extract_head=False, # Fast URL-only scoring + query="machine learning tutorial", + scoring_method="bm25", + score_threshold=0.2 + ) + + urls = await seeder.urls("example.com", config) + + # Scoring based on URL structure, domain, path segments + for url in urls[:5]: + print(f"[{url['relevance_score']:.2f}] {url['url']}") + +# Multi-concept queries +async def complex_queries(): + queries = [ + "data science pandas numpy visualization", + "web scraping automation selenium", + "machine learning tensorflow pytorch", + "api documentation rest graphql" + ] + + async with AsyncUrlSeeder() as seeder: + all_results = [] + + for query in queries: + config = SeedingConfig( + source="sitemap", + extract_head=True, + query=query, + scoring_method="bm25", + score_threshold=0.4, + max_urls=10 + ) + + urls = await seeder.urls("learning-site.com", config) + all_results.extend(urls) + + # Remove duplicates while preserving order + seen = set() + unique_results = [] + for url in all_results: + if url['url'] not in seen: + seen.add(url['url']) + unique_results.append(url) + + print(f"Found {len(unique_results)} unique pages across all topics") +``` + +### Live URL Validation + +```python +async def url_validation(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + live_check=True, # Verify URLs are accessible + concurrency=15, # Parallel HEAD requests + hits_per_sec=8, # Rate limiting + max_urls=100 + ) + + urls = await seeder.urls("example.com", config) + + # Analyze results + valid_urls = [u for u in urls if u['status'] == 'valid'] + invalid_urls = [u for u in urls if u['status'] == 'not_valid'] + + print(f"✅ Valid URLs: {len(valid_urls)}") + print(f"❌ Invalid URLs: {len(invalid_urls)}") + print(f"📊 Success rate: {len(valid_urls)/len(urls)*100:.1f}%") + + # Show some invalid URLs for debugging + if invalid_urls: + print("\nSample invalid URLs:") + for url in invalid_urls[:3]: + print(f" - {url['url']}") + +# Combined validation and metadata +async def comprehensive_validation(): + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + live_check=True, # Verify accessibility + extract_head=True, # Get metadata + query="tutorial guide", # Relevance scoring + scoring_method="bm25", + score_threshold=0.2, + concurrency=10, + max_urls=50 + ) + + urls = await seeder.urls("docs.example.com", config) + + # Filter for valid, relevant tutorials + good_tutorials = [ + url for url in urls + if url['status'] == 'valid' and + url['relevance_score'] > 0.3 and + 'tutorial' in url['head_data'].get('title', '').lower() + ] + + print(f"Found {len(good_tutorials)} high-quality tutorials") +``` + +### Multi-Domain Discovery + +```python +async def multi_domain_research(): + async with AsyncUrlSeeder() as seeder: + # Research Python tutorials across multiple sites + domains = [ + "docs.python.org", + "realpython.com", + "python-course.eu", + "tutorialspoint.com" + ] + + config = SeedingConfig( + source="sitemap", + extract_head=True, + query="python beginner tutorial basics", + scoring_method="bm25", + score_threshold=0.3, + max_urls=15 # Per domain + ) + + # Discover across all domains in parallel + results = await seeder.many_urls(domains, config) + + # Collect and rank all tutorials + all_tutorials = [] + for domain, urls in results.items(): + for url in urls: + url['domain'] = domain + all_tutorials.append(url) + + # Sort by relevance across all domains + all_tutorials.sort(key=lambda x: x['relevance_score'], reverse=True) + + print(f"Top 10 Python tutorials across {len(domains)} sites:") + for i, tutorial in enumerate(all_tutorials[:10], 1): + score = tutorial['relevance_score'] + title = tutorial['head_data'].get('title', 'No title')[:60] + domain = tutorial['domain'] + print(f"{i:2d}. [{score:.2f}] {title}") + print(f" {domain}") + +# Competitor analysis +async def competitor_analysis(): + competitors = ["competitor1.com", "competitor2.com", "competitor3.com"] + + async with AsyncUrlSeeder() as seeder: + config = SeedingConfig( + source="sitemap", + extract_head=True, + pattern="*/blog/*", + max_urls=50 + ) + + results = await seeder.many_urls(competitors, config) + + # Analyze content strategies + for domain, urls in results.items(): + content_types = {} + + for url in urls: + # Extract content type from metadata + meta = url['head_data'].get('meta', {}) + og_type = meta.get('og:type', 'unknown') + content_types[og_type] = content_types.get(og_type, 0) + 1 + + print(f"\n{domain} content distribution:") + for ctype, count in sorted(content_types.items(), + key=lambda x: x[1], reverse=True): + print(f" {ctype}: {count}") +``` + +### Complete Pipeline: Discovery → Filter → Crawl + +```python +async def smart_research_pipeline(): + """Complete pipeline: discover URLs, filter by relevance, crawl top results""" + + async with AsyncUrlSeeder() as seeder: + # Step 1: Discover relevant URLs + print("🔍 Discovering URLs...") + config = SeedingConfig( + source="sitemap+cc", + extract_head=True, + query="machine learning deep learning tutorial", + scoring_method="bm25", + score_threshold=0.4, + max_urls=100 + ) + + urls = await seeder.urls("example.com", config) + print(f" Found {len(urls)} relevant URLs") + + # Step 2: Select top articles + top_articles = sorted(urls, + key=lambda x: x['relevance_score'], + reverse=True)[:10] + + print(f" Selected top {len(top_articles)} for crawling") + + # Step 3: Show what we're about to crawl + print("\n📋 Articles to crawl:") + for i, article in enumerate(top_articles, 1): + score = article['relevance_score'] + title = article['head_data'].get('title', 'No title')[:60] + print(f" {i}. [{score:.2f}] {title}") + + # Step 4: Crawl selected articles + from crawl4ai import AsyncWebCrawler, CrawlerRunConfig + + print(f"\n🕷️ Crawling {len(top_articles)} articles...") + + async with AsyncWebCrawler() as crawler: + config = CrawlerRunConfig( + only_text=True, + word_count_threshold=200, + stream=True # Process results as they come + ) + + # Extract URLs and crawl + article_urls = [article['url'] for article in top_articles] + + crawled_count = 0 + async for result in await crawler.arun_many(article_urls, config=config): + if result.success: + crawled_count += 1 + word_count = len(result.markdown.raw_markdown.split()) + print(f" ✅ [{crawled_count}/{len(article_urls)}] " + f"{word_count} words from {result.url[:50]}...") + else: + print(f" ❌ Failed: {result.url[:50]}...") + + print(f"\n✨ Successfully crawled {crawled_count} articles!") + +asyncio.run(smart_research_pipeline()) +``` + +### Advanced Features and Performance + +```python +# Cache management +async def cache_management(): + async with AsyncUrlSeeder() as seeder: + # First run - populate cache + config = SeedingConfig( + source="sitemap", + extract_head=True, + force=True # Bypass cache, fetch fresh + ) + urls = await seeder.urls("example.com", config) + + # Subsequent runs - use cache (much faster) + config = SeedingConfig( + source="sitemap", + extract_head=True, + force=False # Use cache + ) + urls = await seeder.urls("example.com", config) + +# Performance optimization +async def performance_tuning(): + async with AsyncUrlSeeder() as seeder: + # High-performance configuration + config = SeedingConfig( + source="cc", + concurrency=50, # Many parallel workers + hits_per_sec=20, # High rate limit + max_urls=10000, # Large dataset + extract_head=False, # Skip metadata for speed + filter_nonsense_urls=True # Auto-filter utility URLs + ) + + import time + start = time.time() + urls = await seeder.urls("large-site.com", config) + elapsed = time.time() - start + + print(f"Processed {len(urls)} URLs in {elapsed:.2f}s") + print(f"Speed: {len(urls)/elapsed:.0f} URLs/second") + +# Memory-safe processing for large domains +async def large_domain_processing(): + async with AsyncUrlSeeder() as seeder: + # Safe for domains with 1M+ URLs + config = SeedingConfig( + source="cc+sitemap", + concurrency=50, # Bounded queue adapts to this + max_urls=100000, # Process in batches + filter_nonsense_urls=True + ) + + # The seeder automatically manages memory by: + # - Using bounded queues (prevents RAM spikes) + # - Applying backpressure when queue is full + # - Processing URLs as they're discovered + urls = await seeder.urls("huge-site.com", config) + +# Configuration cloning and reuse +config_base = SeedingConfig( + source="sitemap", + extract_head=True, + concurrency=20 +) + +# Create variations +blog_config = config_base.clone(pattern="*/blog/*") +docs_config = config_base.clone( + pattern="*/docs/*", + query="API documentation", + scoring_method="bm25" +) +fast_config = config_base.clone( + extract_head=False, + concurrency=100, + hits_per_sec=50 +) +``` + +### Troubleshooting and Best Practices + +```python +# Common issues and solutions +async def troubleshooting_guide(): + async with AsyncUrlSeeder() as seeder: + # Issue: No URLs found + try: + config = SeedingConfig(source="sitemap", pattern="*/nonexistent/*") + urls = await seeder.urls("example.com", config) + if not urls: + # Solution: Try broader pattern or different source + config = SeedingConfig(source="cc+sitemap", pattern="*") + urls = await seeder.urls("example.com", config) + except Exception as e: + print(f"Discovery failed: {e}") + + # Issue: Slow performance + config = SeedingConfig( + source="sitemap", # Faster than CC + concurrency=10, # Reduce if hitting rate limits + hits_per_sec=5, # Add rate limiting + extract_head=False # Skip if metadata not needed + ) + + # Issue: Low relevance scores + config = SeedingConfig( + query="specific detailed query terms", + score_threshold=0.1, # Lower threshold + scoring_method="bm25" + ) + + # Issue: Memory issues with large sites + config = SeedingConfig( + max_urls=10000, # Limit results + concurrency=20, # Reduce concurrency + source="sitemap" # Use sitemap only + ) + +# Performance benchmarks +print(""" +Typical performance on standard connection: +- Sitemap discovery: 100-1,000 URLs/second +- Common Crawl discovery: 50-500 URLs/second +- HEAD checking: 10-50 URLs/second +- Head extraction: 5-20 URLs/second +- BM25 scoring: 10,000+ URLs/second +""") + +# Best practices +best_practices = """ +✅ Use context manager: async with AsyncUrlSeeder() as seeder +✅ Start with sitemaps (faster), add CC if needed +✅ Use extract_head=True only when you need metadata +✅ Set reasonable max_urls to limit processing +✅ Add rate limiting for respectful crawling +✅ Cache results with force=False for repeated operations +✅ Filter nonsense URLs (enabled by default) +✅ Use specific patterns to reduce irrelevant results +""" +``` + +**📖 Learn more:** [Complete URL Seeding Guide](https://docs.crawl4ai.com/core/url-seeding/), [SeedingConfig Reference](https://docs.crawl4ai.com/api/parameters/), [Multi-URL Crawling](https://docs.crawl4ai.com/advanced/multi-url-crawling/) \ No newline at end of file diff --git a/docs/md_v2/assets/llmtxt/crawl4ai_all_examples_content.llm.txt b/docs/md_v2/assets/llmtxt/crawl4ai_all_examples_content.llm.txt deleted file mode 100644 index 22f3dc31..00000000 --- a/docs/md_v2/assets/llmtxt/crawl4ai_all_examples_content.llm.txt +++ /dev/null @@ -1,13263 +0,0 @@ -# Code Concatenation - -Generated on 2025-05-24 - -## File: docs/examples/docker/demo_docker_api.py - -```py -import asyncio -import httpx -import json -import os -import time -from typing import List, Dict, Any, AsyncGenerator, Optional -import textwrap # ← new: for pretty code literals -import urllib.parse # ← needed for URL-safe /llm calls -from dotenv import load_dotenv -from rich.console import Console -from rich.syntax import Syntax -from rich.panel import Panel -from rich.table import Table - -# --- Setup & Configuration --- -load_dotenv() # Load environment variables from .env file - -console = Console() - -# --- Configuration --- -BASE_URL = os.getenv("CRAWL4AI_TEST_URL", "http://localhost:8020") -BASE_URL = os.getenv("CRAWL4AI_TEST_URL", "http://localhost:11235") -# Target URLs -SIMPLE_URL = "https://example.com" # For demo purposes -SIMPLE_URL = "https://httpbin.org/html" -LINKS_URL = "https://httpbin.org/links/10/0" -FORMS_URL = "https://httpbin.org/forms/post" # For JS demo -BOOKS_URL = "http://books.toscrape.com/" # For CSS extraction -PYTHON_URL = "https://python.org" # For deeper crawl -# Use the same sample site as deep crawl tests for consistency -DEEP_CRAWL_BASE_URL = os.getenv( - "DEEP_CRAWL_TEST_SITE", "https://docs.crawl4ai.com/samples/deepcrawl/") -DEEP_CRAWL_DOMAIN = "docs.crawl4ai.com" - -# --- Helper Functions --- - - -async def check_server_health(client: httpx.AsyncClient): - """Check if the server is healthy before running tests.""" - console.print("[bold cyan]Checking server health...[/]", end="") - try: - response = await client.get("/health", timeout=10.0) - response.raise_for_status() - health_data = response.json() - console.print( - f"[bold green] Server OK! Version: {health_data.get('version', 'N/A')}[/]") - return True - except (httpx.RequestError, httpx.HTTPStatusError) as e: - console.print(f"\n[bold red]Server health check FAILED:[/]") - console.print(f"Error: {e}") - console.print(f"Is the server running at {BASE_URL}?") - return False - except Exception as e: - console.print( - f"\n[bold red]An unexpected error occurred during health check:[/]") - console.print(e) - return False - - -def print_payload(payload: Dict[str, Any]): - """Prints the JSON payload nicely with a dark theme.""" - syntax = Syntax( - json.dumps(payload, indent=2), - "json", - theme="monokai", # <--- Changed theme here - line_numbers=False, - word_wrap=True # Added word wrap for potentially long payloads - ) - console.print(Panel(syntax, title="Request Payload", - border_style="blue", expand=False)) - - -def print_result_summary(results: List[Dict[str, Any]], title: str = "Crawl Results Summary", max_items: int = 3): - """Prints a concise summary of crawl results.""" - if not results: - console.print(f"[yellow]{title}: No results received.[/]") - return - - console.print(Panel(f"[bold]{title}[/]", - border_style="green", expand=False)) - count = 0 - for result in results: - if count >= max_items: - console.print( - f"... (showing first {max_items} of {len(results)} results)") - break - count += 1 - success_icon = "[green]✔[/]" if result.get('success') else "[red]✘[/]" - url = result.get('url', 'N/A') - status = result.get('status_code', 'N/A') - content_info = "" - if result.get('extracted_content'): - content_str = json.dumps(result['extracted_content']) - snippet = ( - content_str[:70] + '...') if len(content_str) > 70 else content_str - content_info = f" | Extracted: [cyan]{snippet}[/]" - elif result.get('markdown'): - content_info = f" | Markdown: [cyan]Present[/]" - elif result.get('html'): - content_info = f" | HTML Size: [cyan]{len(result['html'])}[/]" - - console.print( - f"{success_icon} URL: [link={url}]{url}[/link] (Status: {status}){content_info}") - if "metadata" in result and "depth" in result["metadata"]: - console.print(f" Depth: {result['metadata']['depth']}") - if not result.get('success') and result.get('error_message'): - console.print(f" [red]Error: {result['error_message']}[/]") - - -async def make_request(client: httpx.AsyncClient, endpoint: str, payload: Dict[str, Any], title: str) -> Optional[List[Dict[str, Any]]]: - """Handles non-streaming POST requests.""" - console.rule(f"[bold blue]{title}[/]", style="blue") - print_payload(payload) - console.print(f"Sending POST request to {client.base_url}{endpoint}...") - try: - start_time = time.time() - response = await client.post(endpoint, json=payload) - duration = time.time() - start_time - console.print( - f"Response Status: [bold {'green' if response.is_success else 'red'}]{response.status_code}[/] (took {duration:.2f}s)") - response.raise_for_status() - data = response.json() - if data.get("success"): - results = data.get("results", []) - print_result_summary(results, title=f"{title} Results") - return results - else: - console.print("[bold red]Request reported failure:[/]") - console.print(data) - return None - except httpx.HTTPStatusError as e: - console.print(f"[bold red]HTTP Error:[/]") - console.print(f"Status: {e.response.status_code}") - try: - console.print(Panel(Syntax(json.dumps( - e.response.json(), indent=2), "json", theme="default"), title="Error Response")) - except json.JSONDecodeError: - console.print(f"Response Body: {e.response.text}") - except httpx.RequestError as e: - console.print(f"[bold red]Request Error: {e}[/]") - except Exception as e: - console.print(f"[bold red]Unexpected Error: {e}[/]") - return None - - -async def stream_request(client: httpx.AsyncClient, endpoint: str, payload: Dict[str, Any], title: str): - """Handles streaming POST requests.""" - console.rule(f"[bold magenta]{title}[/]", style="magenta") - print_payload(payload) - console.print( - f"Sending POST stream request to {client.base_url}{endpoint}...") - all_results = [] - initial_status_code = None # Store initial status code - - try: - start_time = time.time() - async with client.stream("POST", endpoint, json=payload) as response: - initial_status_code = response.status_code # Capture initial status - duration = time.time() - start_time # Time to first byte potentially - console.print( - f"Initial Response Status: [bold {'green' if response.is_success else 'red'}]{initial_status_code}[/] (first byte ~{duration:.2f}s)") - response.raise_for_status() # Raise exception for bad *initial* status codes - - console.print("[magenta]--- Streaming Results ---[/]") - completed = False - async for line in response.aiter_lines(): - if line: - try: - data = json.loads(line) - if data.get("status") == "completed": - completed = True - console.print( - "[bold green]--- Stream Completed ---[/]") - break - elif data.get("url"): # Looks like a result dictionary - all_results.append(data) - # Display summary info as it arrives - success_icon = "[green]✔[/]" if data.get( - 'success') else "[red]✘[/]" - url = data.get('url', 'N/A') - # Display status code FROM THE RESULT DATA if available - result_status = data.get('status_code', 'N/A') - console.print( - f" {success_icon} Received: [link={url}]{url}[/link] (Status: {result_status})") - if not data.get('success') and data.get('error_message'): - console.print( - f" [red]Error: {data['error_message']}[/]") - else: - console.print( - f" [yellow]Stream meta-data:[/yellow] {data}") - except json.JSONDecodeError: - console.print( - f" [red]Stream decode error for line:[/red] {line}") - if not completed: - console.print( - "[bold yellow]Warning: Stream ended without 'completed' marker.[/]") - - except httpx.HTTPStatusError as e: - # Use the captured initial status code if available, otherwise from the exception - status = initial_status_code if initial_status_code is not None else e.response.status_code - console.print(f"[bold red]HTTP Error (Initial Request):[/]") - console.print(f"Status: {status}") - try: - console.print(Panel(Syntax(json.dumps( - e.response.json(), indent=2), "json", theme="default"), title="Error Response")) - except json.JSONDecodeError: - console.print(f"Response Body: {e.response.text}") - except httpx.RequestError as e: - console.print(f"[bold red]Request Error: {e}[/]") - except Exception as e: - console.print(f"[bold red]Unexpected Error during streaming: {e}[/]") - # Print stack trace for unexpected errors - console.print_exception(show_locals=False) - - # Call print_result_summary with the *collected* results AFTER the stream is done - print_result_summary(all_results, title=f"{title} Collected Results") - - -def load_proxies_from_env() -> List[Dict]: - """ - Load proxies from the PROXIES environment variable. - Expected format: IP:PORT:USER:PASS,IP:PORT,IP2:PORT2:USER2:PASS2,... - Returns a list of dictionaries suitable for the 'params' of ProxyConfig. - """ - proxies_params_list = [] - proxies_str = os.getenv("PROXIES", "") - if not proxies_str: - # console.print("[yellow]PROXIES environment variable not set or empty.[/]") - return proxies_params_list # Return empty list if not set - - try: - proxy_entries = proxies_str.split(",") - for entry in proxy_entries: - entry = entry.strip() - if not entry: - continue - - parts = entry.split(":") - proxy_dict = {} - - if len(parts) == 4: # Format: IP:PORT:USER:PASS - ip, port, username, password = parts - proxy_dict = { - "server": f"http://{ip}:{port}", # Assuming http protocol - "username": username, - "password": password, - # "ip": ip # 'ip' is not a standard ProxyConfig param, 'server' contains it - } - elif len(parts) == 2: # Format: IP:PORT - ip, port = parts - proxy_dict = { - "server": f"http://{ip}:{port}", - # "ip": ip - } - else: - console.print( - f"[yellow]Skipping invalid proxy string format:[/yellow] {entry}") - continue - - proxies_params_list.append(proxy_dict) - - except Exception as e: - console.print( - f"[red]Error loading proxies from environment:[/red] {e}") - - if proxies_params_list: - console.print( - f"[cyan]Loaded {len(proxies_params_list)} proxies from environment.[/]") - # else: - # console.print("[yellow]No valid proxies loaded from environment.[/]") - - return proxies_params_list - - -# --- Demo Functions --- - -# 1. Basic Crawling -async def demo_basic_single_url(client: httpx.AsyncClient): - payload = { - "urls": [SIMPLE_URL], - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "cache_mode": "BYPASS" - } - } - } - result = await make_request(client, "/crawl", payload, "Demo 1a: Basic Single URL Crawl") - return result - - -async def demo_basic_multi_url(client: httpx.AsyncClient): - payload = { - "urls": [SIMPLE_URL, LINKS_URL], - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": {"type": "CrawlerRunConfig", "params": {"cache_mode": "BYPASS"}} - } - result = await make_request(client, "/crawl", payload, "Demo 1b: Basic Multi URL Crawl") - return result - - -async def demo_streaming_multi_url(client: httpx.AsyncClient): - payload = { - # "urls": [SIMPLE_URL, LINKS_URL, FORMS_URL, SIMPLE_URL, LINKS_URL, FORMS_URL], # Add another URL - "urls": [ - "https://example.com/page1", - "https://example.com/page2", - "https://example.com/page3", - "https://example.com/page4", - "https://example.com/page5" - ], # Add another URL - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "stream": True, - } - } - } - result = await stream_request(client, "/crawl/stream", payload, "Demo 1c: Streaming Multi URL Crawl") - return result - -# 2. Markdown Generation & Content Filtering - - -async def demo_markdown_default(client: httpx.AsyncClient): - payload = { - "urls": [SIMPLE_URL], - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "markdown_generator": { - "type": "DefaultMarkdownGenerator", - "params": { - "content_source": "fit_html", - "options": { - "type": "dict", - "value": { - "ignore_links": True - } - } - } - } # Explicitly default - } - } - } - result = await make_request(client, "/crawl", payload, "Demo 2a: Default Markdown Generation") - return result - - -async def demo_markdown_pruning(client: httpx.AsyncClient): - payload = { - "urls": [PYTHON_URL], # Use a more complex page - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "cache_mode": "BYPASS", - "markdown_generator": { - "type": "DefaultMarkdownGenerator", - "params": { - "content_filter": { - "type": "PruningContentFilter", - "params": { - "threshold": 0.6, - "threshold_type": "relative" - } - } - } - } - } - } - } - result = await make_request(client, "/crawl", payload, "Demo 2b: Markdown with Pruning Filter") - return result - - -async def demo_markdown_bm25(client: httpx.AsyncClient): - payload = { - "urls": [PYTHON_URL], - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "cache_mode": "BYPASS", - "markdown_generator": { - "type": "DefaultMarkdownGenerator", - "params": { - "content_filter": { - "type": "BM25ContentFilter", - "params": { - "user_query": "Python documentation language reference" - } - } - } - } - } - } - } - result = await make_request(client, "/crawl", payload, "Demo 2c: Markdown with BM25 Filter") - return result - -# 3. Specific Parameters -# Corrected Demo Function: demo_param_css_selector - - -async def demo_param_css_selector(client: httpx.AsyncClient): - css_selector = ".main-content" # Using the suggested correct selector - payload = { - "urls": [PYTHON_URL], - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "css_selector": css_selector # Target specific div - # No extraction strategy is needed to demo this parameter's effect on input HTML - } - } - } - results = await make_request(client, "/crawl", payload, f"Demo 3a: Using css_selector ('{css_selector}')") - - if results: - result = results[0] - if result['success'] and result.get('html'): - # Check if the returned HTML is likely constrained - # A simple check: does it contain expected content from within the selector, - # and does it LACK content known to be outside (like footer links)? - html_content = result['html'] - # Text likely within .main-content somewhere - content_present = 'Python Software Foundation' in html_content - # Text likely in the footer, outside .main-content - footer_absent = 'Legal Statements' not in html_content - - console.print( - f" Content Check: Text inside '{css_selector}' likely present? {'[green]Yes[/]' if content_present else '[red]No[/]'}") - console.print( - f" Content Check: Text outside '{css_selector}' (footer) likely absent? {'[green]Yes[/]' if footer_absent else '[red]No[/]'}") - - if not content_present or not footer_absent: - console.print( - f" [yellow]Note:[/yellow] HTML filtering might not be precise or page structure changed. Result HTML length: {len(html_content)}") - else: - console.print( - f" [green]Verified:[/green] Returned HTML appears limited by css_selector. Result HTML length: {len(html_content)}") - - elif result['success']: - console.print( - "[yellow]HTML content was empty in the successful result.[/]") - # Error message is handled by print_result_summary called by make_request - - -async def demo_param_js_execution(client: httpx.AsyncClient): - payload = { - "urls": ["https://example.com"], # Use a page with a form - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "cache_mode": "BYPASS", - # Simple JS to fill and maybe click (won't submit without more complex setup) - "js_code": """ - (() => { - document.querySelector('h1').innerText = 'Crawl4AI Demo'; - return { filled_name: document.querySelector('h1').innerText }; - })(); - """, - "delay_before_return_html": 0.5 # Give JS time to potentially run - } - } - } - results = await make_request(client, "/crawl", payload, "Demo 3b: Using js_code Parameter") - if results and results[0].get("js_execution_result"): - console.print("[cyan]JS Execution Result:[/]", - results[0]["js_execution_result"]) - elif results: - console.print("[yellow]JS Execution Result not found in response.[/]") - - -async def demo_param_screenshot(client: httpx.AsyncClient): - payload = { - "urls": [SIMPLE_URL], - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": {"cache_mode": "BYPASS", "screenshot": True} - } - } - results = await make_request(client, "/crawl", payload, "Demo 3c: Taking a Screenshot") - if results and results[0].get("screenshot"): - console.print( - f"[cyan]Screenshot data received (length):[/] {len(results[0]['screenshot'])}") - elif results: - console.print("[yellow]Screenshot data not found in response.[/]") - - -async def demo_param_ssl_fetch(client: httpx.AsyncClient): - payload = { - "urls": [PYTHON_URL], # Needs HTTPS - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": {"cache_mode": "BYPASS", "fetch_ssl_certificate": True} - } - } - results = await make_request(client, "/crawl", payload, "Demo 3d: Fetching SSL Certificate") - if results and results[0].get("ssl_certificate"): - console.print("[cyan]SSL Certificate Info:[/]") - console.print(results[0]["ssl_certificate"]) - elif results: - console.print("[yellow]SSL Certificate data not found in response.[/]") - - -async def demo_param_proxy(client: httpx.AsyncClient): - proxy_params_list = load_proxies_from_env() # Get the list of parameter dicts - if not proxy_params_list: - console.rule( - "[bold yellow]Demo 3e: Using Proxies (SKIPPED)[/]", style="yellow") - console.print("Set the PROXIES environment variable to run this demo.") - console.print("Format: IP:PORT:USR:PWD,IP:PORT,...") - return - - payload = { - "urls": ["https://httpbin.org/ip"], # URL that shows originating IP - "browser_config": {"type": "BrowserConfig", "params": {"headless": True}}, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "cache_mode": "BYPASS", - "proxy_rotation_strategy": { - "type": "RoundRobinProxyStrategy", - "params": { - "proxies": [ - # [ - # { - # "type": "ProxyConfig", - # "params": { - # server:"...", - # "username": "...", - # "password": "..." - # } - # }, - # ... - # ] - - # Filter out the 'ip' key when sending to server, as it's not part of ProxyConfig - {"type": "ProxyConfig", "params": { - k: v for k, v in p.items() if k != 'ip'}} - for p in proxy_params_list - ] - } - } - } - } - } - results = await make_request(client, "/crawl", payload, "Demo 3e: Using Proxies") - - # --- Verification Logic --- - if results and results[0].get("success"): - result = results[0] - try: - # httpbin.org/ip returns JSON within the HTML body's
 tag
-            html_content = result.get('html', '')
-            # Basic extraction - find JSON within 
 tags or just the JSON itself
-            json_str = None
-            if ' 500 else md
-        console.print(Panel(snippet, title="Markdown snippet",
-                      border_style="cyan", expand=False))
-    except Exception as e:
-        console.print(f"[bold red]Error hitting /md:[/] {e}")
-
-# 8. LLM QA helper endpoint
-
-
-async def demo_llm_endpoint(client: httpx.AsyncClient):
-    """
-    Quick QA round-trip with /llm.
-    Asks a trivial question against SIMPLE_URL just to show wiring.
-    """
-    page_url = SIMPLE_URL
-    question = "What is the title of this page?"
-
-    console.rule("[bold magenta]Demo 7b: /llm Endpoint[/]", style="magenta")
-    enc = urllib.parse.quote_plus(page_url, safe="")
-    console.print(f"GET /llm/{enc}?q={question}")
-
-    try:
-        t0 = time.time()
-        resp = await client.get(f"/llm/{enc}", params={"q": question})
-        dt = time.time() - t0
-        console.print(
-            f"Response Status: [bold {'green' if resp.is_success else 'red'}]{resp.status_code}[/] (took {dt:.2f}s)")
-        resp.raise_for_status()
-        answer = resp.json().get("answer", "")
-        console.print(Panel(answer or "No answer returned",
-                      title="LLM answer", border_style="magenta", expand=False))
-    except Exception as e:
-        console.print(f"[bold red]Error hitting /llm:[/] {e}")
-
-
-# 9. /config/dump helpers --------------------------------------------------
-
-async def demo_config_dump_valid(client: httpx.AsyncClient):
-    """
-    Send a single top-level CrawlerRunConfig(...) expression and show the dump.
-    """
-    code_snippet = "CrawlerRunConfig(cache_mode='BYPASS', screenshot=True)"
-    payload = {"code": code_snippet}
-
-    console.rule("[bold blue]Demo 8a: /config/dump (valid)[/]", style="blue")
-    print_payload(payload)
-
-    try:
-        t0 = time.time()
-        resp = await client.post("/config/dump", json=payload)
-        dt = time.time() - t0
-        console.print(
-            f"Response Status: [bold {'green' if resp.is_success else 'red'}]{resp.status_code}[/] (took {dt:.2f}s)")
-        resp.raise_for_status()
-        dump_json = resp.json()
-        console.print(Panel(Syntax(json.dumps(dump_json, indent=2),
-                      "json", theme="monokai"), title="Dump()", border_style="cyan"))
-    except Exception as e:
-        console.print(f"[bold red]Error in valid /config/dump call:[/] {e}")
-
-
-async def demo_config_dump_invalid(client: httpx.AsyncClient):
-    """
-    Purposely break the rule (nested call) to show the 400 parse error.
-    """
-    bad_code = textwrap.dedent("""
-        BrowserConfig(headless=True); CrawlerRunConfig()
-    """).strip()
-    payload = {"code": bad_code}
-
-    console.rule(
-        "[bold magenta]Demo 8b: /config/dump (invalid)[/]", style="magenta")
-    print_payload(payload)
-
-    try:
-        resp = await client.post("/config/dump", json=payload)
-        console.print(
-            f"Response Status: [bold {'green' if resp.is_success else 'red'}]{resp.status_code}[/]")
-        resp.raise_for_status()   # should throw -> except
-    except httpx.HTTPStatusError as e:
-        console.print("[cyan]Expected parse/validation failure captured:[/]")
-        try:
-            console.print(Panel(Syntax(json.dumps(
-                e.response.json(), indent=2), "json", theme="fruity"), title="Error payload"))
-        except Exception:
-            console.print(e.response.text)
-    except Exception as e:
-        console.print(
-            f"[bold red]Unexpected error during invalid test:[/] {e}")
-
-
-# --- Update Main Runner to include new demo ---
-async def main_demo():
-    async with httpx.AsyncClient(base_url=BASE_URL, timeout=300.0) as client:
-        if not await check_server_health(client):
-            return
-
-        # --- Run Demos ---
-        # await demo_basic_single_url(client)
-        # await demo_basic_multi_url(client)
-        # await demo_streaming_multi_url(client)
-
-        # await demo_markdown_default(client)
-        # await demo_markdown_pruning(client)
-        # await demo_markdown_bm25(client)
-
-        # await demo_param_css_selector(client)
-        # await demo_param_js_execution(client)
-        # await demo_param_screenshot(client)
-        # await demo_param_ssl_fetch(client)
-        # await demo_param_proxy(client) # Skips if no PROXIES env var
-
-        # await demo_extract_css(client)
-        # await demo_extract_llm(client)  # Skips if no common LLM key env var
-
-        # await demo_deep_basic(client)
-        # await demo_deep_streaming(client)  # This need extra work
-
-        # await demo_deep_with_css_extraction(client)
-        # # Skips if no common LLM key env var
-        # await demo_deep_with_llm_extraction(client)
-        # await demo_deep_with_proxy(client)  # Skips if no PROXIES env var
-        # await demo_deep_with_ssl(client)   # Added the new demo
-
-        # --- Helper endpoints ---
-        await demo_markdown_endpoint(client)
-        await demo_llm_endpoint(client)
-
-        # --- /config/dump sanity checks ---
-        await demo_config_dump_valid(client)
-        await demo_config_dump_invalid(client)
-
-        console.rule("[bold green]Demo Complete[/]", style="green")
-
-
-if __name__ == "__main__":
-    try:
-        asyncio.run(main_demo())
-    except KeyboardInterrupt:
-        console.print("\n[yellow]Demo interrupted by user.[/]")
-    except Exception as e:
-        console.print(
-            f"\n[bold red]An error occurred during demo execution:[/]")
-        console.print_exception(show_locals=False)
-
-```
-
-
-## File: docs/examples/docker/demo_docker_polling.py
-
-```py
-
-#!/usr/bin/env python3
-"""
-demo_docker_polling.py
-Quick sanity-check for the asynchronous crawl job endpoints:
-
-  • POST  /crawl/job          – enqueue work, get task_id
-  • GET   /crawl/job/{id}     – poll status / fetch result
-
-The style matches demo_docker_api.py (console.rule banners, helper
-functions, coloured status lines).  Adjust BASE_URL as needed.
-
-Run:  python demo_docker_polling.py
-"""
-
-import asyncio, json, os, time, urllib.parse
-from typing import Dict, List
-
-import httpx
-from rich.console import Console
-from rich.panel   import Panel
-from rich.syntax  import Syntax
-
-console   = Console()
-BASE_URL  = os.getenv("BASE_URL", "http://localhost:11234")
-SIMPLE_URL = "https://example.org"
-LINKS_URL  = "https://httpbin.org/links/10/1"
-
-# --- helpers --------------------------------------------------------------
-
-
-def print_payload(payload: Dict):
-    console.print(Panel(Syntax(json.dumps(payload, indent=2),
-                               "json", theme="monokai", line_numbers=False),
-                        title="Payload", border_style="cyan", expand=False))
-
-
-async def check_server_health(client: httpx.AsyncClient) -> bool:
-    try:
-        resp = await client.get("/health")
-        if resp.is_success:
-            console.print("[green]Server healthy[/]")
-            return True
-    except Exception:
-        pass
-    console.print("[bold red]Server is not responding on /health[/]")
-    return False
-
-
-async def poll_for_result(client: httpx.AsyncClient, task_id: str,
-                          poll_interval: float = 1.5, timeout: float = 90.0):
-    """Hit /crawl/job/{id} until COMPLETED/FAILED or timeout."""
-    start = time.time()
-    while True:
-        resp = await client.get(f"/crawl/job/{task_id}")
-        resp.raise_for_status()
-        data = resp.json()
-        status = data.get("status")
-        if status.upper() in ("COMPLETED", "FAILED"):
-            return data
-        if time.time() - start > timeout:
-            raise TimeoutError(f"Task {task_id} did not finish in {timeout}s")
-        await asyncio.sleep(poll_interval)
-
-
-# --- demo functions -------------------------------------------------------
-
-
-async def demo_poll_single_url(client: httpx.AsyncClient):
-    payload = {
-        "urls": [SIMPLE_URL],
-        "browser_config": {"type": "BrowserConfig",
-                           "params": {"headless": True}},
-        "crawler_config": {"type": "CrawlerRunConfig",
-                           "params": {"cache_mode": "BYPASS"}}
-    }
-
-    console.rule("[bold blue]Demo A: /crawl/job Single URL[/]", style="blue")
-    print_payload(payload)
-
-    # enqueue
-    resp = await client.post("/crawl/job", json=payload)
-    console.print(f"Enqueue status: [bold]{resp.status_code}[/]")
-    resp.raise_for_status()
-    task_id = resp.json()["task_id"]
-    console.print(f"Task ID: [yellow]{task_id}[/]")
-
-    # poll
-    console.print("Polling…")
-    result = await poll_for_result(client, task_id)
-    console.print(Panel(Syntax(json.dumps(result, indent=2),
-                               "json", theme="fruity"),
-                        title="Final result", border_style="green"))
-    if result["status"] == "COMPLETED":
-        console.print("[green]✅ Crawl succeeded[/]")
-    else:
-        console.print("[red]❌ Crawl failed[/]")
-
-
-async def demo_poll_multi_url(client: httpx.AsyncClient):
-    payload = {
-        "urls": [SIMPLE_URL, LINKS_URL],
-        "browser_config": {"type": "BrowserConfig",
-                           "params": {"headless": True}},
-        "crawler_config": {"type": "CrawlerRunConfig",
-                           "params": {"cache_mode": "BYPASS"}}
-    }
-
-    console.rule("[bold magenta]Demo B: /crawl/job Multi-URL[/]",
-                 style="magenta")
-    print_payload(payload)
-
-    resp = await client.post("/crawl/job", json=payload)
-    console.print(f"Enqueue status: [bold]{resp.status_code}[/]")
-    resp.raise_for_status()
-    task_id = resp.json()["task_id"]
-    console.print(f"Task ID: [yellow]{task_id}[/]")
-
-    console.print("Polling…")
-    result = await poll_for_result(client, task_id)
-    console.print(Panel(Syntax(json.dumps(result, indent=2),
-                               "json", theme="fruity"),
-                        title="Final result", border_style="green"))
-    if result["status"] == "COMPLETED":
-        console.print(
-            f"[green]✅ {len(json.loads(result['result'])['results'])} URLs crawled[/]")
-    else:
-        console.print("[red]❌ Crawl failed[/]")
-
-
-# --- main runner ----------------------------------------------------------
-
-
-async def main_demo():
-    async with httpx.AsyncClient(base_url=BASE_URL, timeout=300.0) as client:
-        if not await check_server_health(client):
-            return
-        await demo_poll_single_url(client)
-        await demo_poll_multi_url(client)
-        console.rule("[bold green]Polling demos complete[/]", style="green")
-
-
-if __name__ == "__main__":
-    try:
-        asyncio.run(main_demo())
-    except KeyboardInterrupt:
-        console.print("\n[yellow]Interrupted by user[/]")
-    except Exception:
-        console.print_exception(show_locals=False)
-
-```
-
-
-## File: docs/examples/markdown/content_source_example.py
-
-```py
-"""
-Example showing how to use the content_source parameter to control HTML input for markdown generation.
-"""
-import asyncio
-from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, DefaultMarkdownGenerator
-
-async def demo_content_source():
-    """Demonstrates different content_source options for markdown generation."""
-    url = "https://example.com"  # Simple demo site
-    
-    print("Crawling with different content_source options...")
-    
-    # --- Example 1: Default Behavior (cleaned_html) ---
-    # This uses the HTML after it has been processed by the scraping strategy
-    # The HTML is cleaned, simplified, and optimized for readability
-    default_generator = DefaultMarkdownGenerator()  # content_source="cleaned_html" is default
-    default_config = CrawlerRunConfig(markdown_generator=default_generator)
-    
-    # --- Example 2: Raw HTML ---
-    # This uses the original HTML directly from the webpage
-    # Preserves more original content but may include navigation, ads, etc.
-    raw_generator = DefaultMarkdownGenerator(content_source="raw_html")
-    raw_config = CrawlerRunConfig(markdown_generator=raw_generator)
-    
-    # --- Example 3: Fit HTML ---
-    # This uses preprocessed HTML optimized for schema extraction
-    # Better for structured data extraction but may lose some formatting
-    fit_generator = DefaultMarkdownGenerator(content_source="fit_html")
-    fit_config = CrawlerRunConfig(markdown_generator=fit_generator)
-    
-    # Execute all three crawlers in sequence
-    async with AsyncWebCrawler() as crawler:
-        # Default (cleaned_html)
-        result_default = await crawler.arun(url=url, config=default_config)
-        
-        # Raw HTML
-        result_raw = await crawler.arun(url=url, config=raw_config)
-        
-        # Fit HTML
-        result_fit = await crawler.arun(url=url, config=fit_config)
-    
-    # Print a summary of the results
-    print("\nMarkdown Generation Results:\n")
-    
-    print("1. Default (cleaned_html):")
-    print(f"   Length: {len(result_default.markdown.raw_markdown)} chars")
-    print(f"   First 80 chars: {result_default.markdown.raw_markdown[:80]}...\n")
-    
-    print("2. Raw HTML:")
-    print(f"   Length: {len(result_raw.markdown.raw_markdown)} chars")
-    print(f"   First 80 chars: {result_raw.markdown.raw_markdown[:80]}...\n")
-    
-    print("3. Fit HTML:")
-    print(f"   Length: {len(result_fit.markdown.raw_markdown)} chars")
-    print(f"   First 80 chars: {result_fit.markdown.raw_markdown[:80]}...\n")
-    
-    # Demonstrate differences in output
-    print("\nKey Takeaways:")
-    print("- cleaned_html: Best for readable, focused content")
-    print("- raw_html: Preserves more original content, but may include noise")
-    print("- fit_html: Optimized for schema extraction and structured data")
-
-if __name__ == "__main__":
-    asyncio.run(demo_content_source())
-```
-
-
-## File: docs/examples/markdown/content_source_short_example.py
-
-```py
-"""
-Example demonstrating how to use the content_source parameter in MarkdownGenerationStrategy
-"""
-
-import asyncio
-from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, DefaultMarkdownGenerator
-
-async def demo_markdown_source_config():
-    print("\n=== Demo: Configuring Markdown Source ===")
-
-    # Example 1: Generate markdown from cleaned HTML (default behavior)
-    cleaned_md_generator = DefaultMarkdownGenerator(content_source="cleaned_html")
-    config_cleaned = CrawlerRunConfig(markdown_generator=cleaned_md_generator)
-
-    async with AsyncWebCrawler() as crawler:
-        result_cleaned = await crawler.arun(url="https://example.com", config=config_cleaned)
-        print("Markdown from Cleaned HTML (default):")
-        print(f"  Length: {len(result_cleaned.markdown.raw_markdown)}")
-        print(f"  Start: {result_cleaned.markdown.raw_markdown[:100]}...")
-
-    # Example 2: Generate markdown directly from raw HTML
-    raw_md_generator = DefaultMarkdownGenerator(content_source="raw_html")
-    config_raw = CrawlerRunConfig(markdown_generator=raw_md_generator)
-
-    async with AsyncWebCrawler() as crawler:
-        result_raw = await crawler.arun(url="https://example.com", config=config_raw)
-        print("\nMarkdown from Raw HTML:")
-        print(f"  Length: {len(result_raw.markdown.raw_markdown)}")
-        print(f"  Start: {result_raw.markdown.raw_markdown[:100]}...")
-
-    # Example 3: Generate markdown from preprocessed 'fit' HTML
-    fit_md_generator = DefaultMarkdownGenerator(content_source="fit_html")
-    config_fit = CrawlerRunConfig(markdown_generator=fit_md_generator)
-
-    async with AsyncWebCrawler() as crawler:
-        result_fit = await crawler.arun(url="https://example.com", config=config_fit)
-        print("\nMarkdown from Fit HTML:")
-        print(f"  Length: {len(result_fit.markdown.raw_markdown)}")
-        print(f"  Start: {result_fit.markdown.raw_markdown[:100]}...")
-
-if __name__ == "__main__":
-    asyncio.run(demo_markdown_source_config())
-```
-
-
-## File: docs/examples/tmp/console_test.html
-
-```html
-'
-
-
-    
\n - - - - \n
-
-
-
-
-
-
-
-

Mobiles & Tablets - Mobiles

-
-
-
-
2400 items found in - Smartphones
-
-
-
-
-
Sort By:
-
-
-
-
- Best Match
-
-
-
-
View:
-
-
-
-
-
-
-
-
-
-
-
- -
- -
-
- -
-
-
- -
-
-
- -
-
-
- - - - -
-
-
-
-
-
RM2,699.00
-
16 sold -
(4)
-
-
-
-
-
-
-
-
-
-
-
RM1,419.00
-
Voucher - save 74%
-
-
-
-
- -
-
-
-
-
-
RM5,199.00
-
Voucher - save 48%
-
Johor
-
-
-
-
- - - - - - - -
-
- -
-
-
-
- -
-
- - - - -
-
-
- -
-
-
- - - - - -
-
-
-
- -
RM2,999.00
-
-
(0)
-
-
-
-
-
-
-
-
-
- -
RM1,050.00
-
Voucher - save 42%
-
Penang
-
-
-
-
- -
-
-
-
- -
RM759.00
-
-
-
-
-
-
-
-
-
-
RM2,099.00
-
Voucher - save 9%
-
161 sold -
(43)
-
-
-
-
-
- - - - -
-
-
-
-
-
RM1,026.11
-
Voucher - save 49%
-
-
(1)
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
Category
-
-
-
- -
-
-
-
- -
-
Service & Promotion
-
-
-
-
-
-
-
-
-
Shipped From
-
-
-
-
-
VIEW MORE
-
-
-
-
-
Price
-
-
-
-
-
-
-
-
-
Rating
-
-
-
    -
  • -
    -
    -
    -
    -
  • -
-
-
And Up
-
-
-
-
Phone Features
-
-
-
-
-
-
-
-
Operating System
-
-
-
-
-
-
-
-
Condition
-
-
-
-
-
-
-
-
-
Network Connections
-
-
-
-
-
-
-
-
-
Number of Camera
-
-
-
-
-
-
-
-
-
Screen Type
-
-
-
-
-
-
-
-
-
RAM memory
-
-
-
-
-
-
-
-
-
SIM card Slots
-
-
-
-
-
-
-
-
Plug Type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-

Innovation through the Mobile Phones in Malaysia

-

Not too long ago, the smartphone was the most innovative piece of technology crafted by - enthusiastic developers and forward-thinking creators. Its features are very - outstanding, combining the capabilities of a computer, a cellphone, and a camera into - one pocket device. The technology was very impressive, that those who dared to have one - were only the rich, the famous and the influential. Even today, there is still no device - that can compare to the advancement brought to us by this simple handhel...mobile - phone reviews in Malaysia or read some mobile phone comparisons in - Malaysia before you buy one for yourself. You can get a mobile for the best - mobile price in Malaysia online today! Only on Lazada Malaysia.


-

Mass production of mobile phones

-

The turn of the tide for the mobile device began when the big companies started - developing mobile phones that are affordable for the middle class. As these mobile - groups continue to make business phones for the higher class, they would often release - an affordable version that can appeal to a larger market. Eventually, the smaller tech - companies got their share of the technology and began producing their own devices, - comparable to those made by the likes of Lenovo, Asus, and Acer. The economics - o...smartphone price in Malaysia on Lazada Malaysia.

-



-

-
-
-
-
    -

    Flagship phone

    -
  • Standard features: Also known as a high-end phone, this is basically the phone that - carries the brand’s name. All of the best and finest specs and features, a - smartphone can offer are put into the flagship device.
  • -
  • Technical specs: Flagships run the latest OS, upgradable to the next OS, and comes - with fast processor speeds. In terms of memory, the flagship has large (albeit non - expansive) storage, and at least 2GB RAM
  • -
  • Known flagship brands: Apple iPhone, Sony Xperia Z series, Samsung Galaxy S, LG -
  • -
-
    -

    Midrange phone

    -
  • Standard features: As the name suggests, the devices that fall under this group are - in the middle in terms of specs. The devices here are practical for most users, - equipped with above-average features, with at least 3 flagship specs.
  • -
  • Technical Specs: Runs the latest OS with an OTA update for the next OS at optimum - processor speeds. At least 1GB RAM, with expandable storage capacity via microSD -
  • -
  • Known midrange brands: Sony Xperia E, Huawei Ascend, Asus Zenfone series, Lenovo - phone series, Xiaomi
  • -
-
    -

    Start up phones

    -
  • Standard features: Known as the budget phone, these are the more affordable brands - of phones, produced by companies specifically for those who are new to the - smartphone.
  • -
  • Technical Specs: Runs either a previous OS or the latest OS. Decent processor - speeds, topping at 1.5GHz under a dual-core chip. A much smaller internal storage, - expandable via microSD, with a maximum of 1GB RAM
  • -
  • Known start-up brands: Cherry Mobile, MyPhone, Starmobile, ArcMobile, Kata
  • -
-
-
-
-
-
-
-
\n \n\n \n \n \n\n\t - -
\n
\n \n\n \n \n \n \n \n \n
- - -' -``` - - -## File: docs/examples/tmp/geo_test.png - -```png -BM6�6( -��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ΰ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������SSSZZZ������|||������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������KKK�����沲�YYY�����琐�vvv��򫫫KKKKKKsssPPP������KKK������KKK�����뿿�SSSWWW������^^^KKKMMM��������袢�MMM�����𿿿WWWKKKMMM��������͙��PPPKKKYYY�����묬�^^^���������MMM�����𝝝MMM������KKKKKK���KKK������PPPKKKXXX��������͟��MMM���������KKK���������������������������KKK���KKKKKKwww�����񂂂�����������뎎�PPPKKK\\\��������ﷷ�KKK���������KKK���������ZZZKKKKKK{{{���������WWWKKKMMM�����𹹹KKK��������ˌ�����������xxxKKKKKKaaa�����שּׁ�KKKKKKqqqPPP������KKK�����ӛ��MMM��ٌ��KKKKKKSSS�����짧�MMM������WWWKKKMMM���������|||KKKKKKiii�����橩�^^^������~~~������aaa������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������KKK������\\\�����򑑑������PPP�����菏�KKK������KKK������KKK������~~~sss������gggrrr������MMM��������ċ����뿿�MMM���������KKK��߽��KKK�����߂��UUU��第�bbb���������MMM������SSS���������KKK������yyyKKK��뫫�KKK������xxxaaa������QQQ���������[[[������rrrRRR���fffSSS���������KKKbbb������MMM���������������KKK�����傂�WWW�����挌�KKK�����怀�KKK������vvv������SSS������MMM�����১�WWW������KKK���������}}}�����񐐐WWW������xxx������PPP�����ɞ��KKK������KKK������KKK������[[[�����𛛛XXX�����ʈ��������MMM�����嘘�KKK��ߑ��RRR������___www��񭭭aaa�����텅����������aaa������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������KKK�����˯��\\\�����ˌ��~~~���SSS���������LLL������KKK������KKK������lll���������KKK��������Ӈ��������������������OOO��������뻻�������www���������KKK��Ū��bbb���������MMM������KKK���������KKK�����糳�KKK��디�nnn��������鸸�������KKK���������KKK��ŏ��kkk���]]]ZZZ���PPP������KKK��������񌌌zzz��ʀ����������ˍ��www���������KKK������^^^���vvv���RRR�����������������⠠�MMM������QQQ������������������KKK��������獍�yyy���bbb������������������UUU���������MMM������KKK���SSS��������������꼼�sssWWW���������������OOO������������ddd���������WWW��̫��bbb�����ͅ�����������aaa��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������뽽�KKK�����읝�]]]�����ꄄ�������VVVKKKMMMKKK������KKK������KKK������ggg���������KKK��������苋�jjj�����������裣�```���������������xxx������������KKK������aaa�����񫫫MMM������KKK��������돏�PPPKKKKKKKKK���zzz���������������������KKK���������\\\���fff�����椤�eee���{{{������KKK��������Σ��ccc���vvv���������ooo������������KKK������KKK���PPP���WWW���WWW������yyyKKKPPP�����夤�KKKKKKKKKKKKKKK������KKK��������興�������KKKKKKKKKKKKKKKZZZ��ꥥ�YYYKKKMMMKKK������KKKKKKMMM��������Ե��WWWKKKbbb��������������檪�___���������������PPP������������KKK��朜�aaa������}}}���������]]]������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������KKK�����𮮮RRR�����숈�www���������������KKK������KKK������KKK������lll���������KKK��������񁁁zzz�����������˿��MMM��������賳���㊊�rrr�����缼�KKK��੩�QQQ�����񵵵QQQ������KKK�����������������彽�KKK��ɔ��nnn��������ݶ��������KKK�����纺�WWW���xxx������hhh��̆��������KKK���������|||�����恁�ttt�����𕕕kkk���������KKK��߯��ccc���dddwww������KKK��Х��QQQ���������������KKK���������KKK��־��KKK��������ˉ��������aaa���������{{{}}}���������������KKK������KKK���OOO���������MMM���������������������������MMM��������굵����ccc��������盛�ZZZ��שּׁ�UUU�����退�ttt������\\\���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������eee������������������������������������������������������������������������������������������������������������������������������������������KKKqqq���kkkKKK������WWW�����ҋ��hhh��ȕ��KKK������KKK������KKK������eee���������tttccc������KKK�����Θ��KKK������UUU~~~���}}}MMM������KKK������lll___��𮮮KKK������ggg}}}������KKK���������^^^���������WWW������KKK������dddmmm������KKK���������MMM��޼��MMMnnnMMMiii���[[[������KKKXXX������KKK������KKK���������KKK������lllddd��҆�������쇇�KKK������bbb������RRR������MMM������TTT������rrr]]]������KKKlll�����ڀ�������뤤�OOO������MMM�����犊�iii������KKK������KKK��ܓ��UUU������TTT������~~~ttt���������������TTT~~~���{{{MMM��ߡ��MMM������TTT���������KKK������RRRMMM������KKK���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff[[[[[[�����������������������������������ᓓ����������������������������������������������������������������������������������������������SSS���LLL[[[���lllKKKggg�����񿿿sssMMMTTT���������SSS������KKK���uuuKKKMMMggg������wwwMMMXXX��������꼼���������ﹹ�kkkMMMaaa��������鱱�[[[MMMrrr�����ʰ��ppp{{{MMMsss������TTTKKKPPP���������```KKKYYY��������柟�___MMMnnn������WWWKKKOOO������zzz�����å�����������MMM������KKK���OOORRR��������Ύ�����]]]XXX��񲲲^^^MMMsss������ccc���������RRR�����𚚚�����ꅅ�MMMOOO��������볳�lllMMMkkk���������RRR���MMM������{{{�����핕�RRRWWW������������qqqMMMRRR���������KKK������eee������\\\KKKddd�����������������涶�jjjMMMaaa��������𐐐SSSRRR��������Ѳ��nnnyyyKKKlll���ZZZLLL���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������iii���������[[[[[[^^^������������������������������hhh[[[kkk������������������������������������������������������������������������������������������������������������������������������������������������������KKK������ggg���������������������������������������������������������������������������������������������������������KKK���������������������������������������������������KKK������������ZZZvvv��������ѓ��PPP���������KKK���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������KKK������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������hhh[[[���������[[[[[[[[[���������������������������ggg[[[[[[[[[jjj��������������������������������������������������������������������������������������������������������������������������������������貲�KKK������KKK�����孭���������������������������������������������������������������������������������������������������������ꛛ���������������������������������������������������ʗ����������������ꖖ�cccRRRbbb���������������KKK�����������������������������������������������������������������������������������������������������������������������������������Έ��������������������������������������������������KKK������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn[[[\\\bbb[[[[[[[[[[[[������������������������eee[[[[[[[[[[[[[[[}}}��������������������������������������������������������������������������������������������������������������������������������������Ꚛ������䵵���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������浵������������������������������������������������˵�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���������������������fff[[[[[[[[[[[[[[[bbb���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk[[[[[[[[[[[[[[[[[[]]]���������������ddd[[[[[[[[[[[[[[[eee��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ꔔ�iii[[[[[[[[[[[[[[[^^^���������ccc[[[[[[[[[[[[[[[hhh���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[^^^���������[[[[[[[[[[[[jjj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[]]]���������[[[[[[kkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[]]]���������qqq��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ڷ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]][[[[[[[[[\\\������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjjKKKPPPKKK������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������^^^[[[[[[[[[\\\��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������諫����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������www�����갰�KKK���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������^^^[[[[[[[[[\\\���������������������������������������������������������������������������������������������������������KKKKKKKKKKKK^^^���������KKK������������cccKKKMMM������������bbbzzz������WWW��������񖖖KKKKKKRRR���������xxxKKKKKKaaa�����큁�������������KKKKKKKKKKKKKKK������xxxKKKKKKfff�����Ҁ��KKKKKKvvvKKK������KKK�����蜜�LLL��ڙ��KKKKKKSSS��������������������Ϊ��PPPlllzzzaaaZZZ���������������������KKKKKKKKKKKKKKK���������~~~KKKKKKwww�����������񵵵SSS������������[[[�����������������������ɂ��KKKKKKKKKKKKKKK���������UUUKKKQQQ���������xxxKKKKKKKKKKKKKKK�����琐�KKKKKKMMM������������������KKK���������������KKK��ԉ�������̋��������������������KKK��������礤�KKK��Ы��[[[��������͂��������KKK������KKK���������PPP���������WWWKKK�����������鬬�MMM��������Ԋ��TTT������zzzKKKKKK```���������OOOKKKMMM��������뛛�MMMKKKTTT������www��������������漼�KKK������������qqqKKKKKKeee���������ZZZKKKRRRxxxuuu������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrr[[[mmm������^^^[[[[[[[[[\\\������������������������������������������������������������������������������������������������������KKK�����ݬ�����KKK��徾�KKK���������gggsss��۱��MMM���������MMMRRR��빹�KKK[[[������[[[�����描�YYY��鐐�VVV������zzz�����灁�������������KKK��������������˓��XXX������zzz������KKK������yyyKKK������KKK������KKK������[[[�����挌�XXX��������������𹹹UUU�����������̱��PPP�����������������˄��KKK��Ƚ����������񖖖MMM������QQQ�����������λ��RRR������������^^^�����������������������򵵵KKK������������������VVV�����ᕕ�QQQ���������KKK��������ټ��������KKK������KKK���������������sss�����������񕕕ddd��ь��������������������������KKK���������___xxx��벲�^^^������MMMlll���WWWKKK������KKK���������PPP�����񔔔RRR������������������MMM���������KKK�����꒒�VVV������yyy������sss���������KKK��ի��KKK�����⊊�lll��遁���������������΀��TTT��������鑑�YYY������www������bbbqqq��ج��KKKuuu���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn[[[[[[������������^^^[[[[[[[[[[[[vvvyyy������������������������������������������������������������������������������������������KKK������������KKK������KKK���������KKK���������}}}�����ﷷ�cccaaa��Ѥ��wwwMMM���������������rrrUUU���ccc������������������~~~������������KKK���������������]]]������������������KKK���������KKK������KKK���QQQ������������������tttUUU���������������TTT�����˟��fff�����ј��~~~������������������mmmlll������������hhh��������𝝝\\\���������RRR������������^^^��������������������������櫫�KKK���������������MMM���������PPP��������뻻�KKK��������������ϥ�����������```��������������袢�KKK���������KKK�����������猌�xxx���������������KKK�����ϲ��KKK�����β��^^^��닋�bbb�����驩�KKK������KKK���������OOO�����왙�ggg��������������徾�MMM�����円�ZZZ������ccc��������������������������և��KKK��ڍ��uuu��������������쁁����������������MMM���MMM������ccc������������������KKK���������vvvttt������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������iii[[[[[[������������������^^^[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������KKK��������蹹�KKK������KKK���������KKK��������񙙙ddd��ꊊ����������www���fff�����񶶶UUUKKKggg������KKKKKKKKKKKKKKK[[[���xxx������������KKK���������������KKKKKKKKKKKKKKKXXX��ꛛ�PPPKKKKKKKKK������KKKKKKMMM��������𹹹UUUKKKhhh��������������깹�```��츸�^^^���bbb������TTT���������������������\\\}}}���������RRR������������MMM��������湹�QQQ������������^^^�����촴�RRRRRRRRR___��������왙�MMM��������Ҭ��```���������jjj�����������𬬬LLL������������������������ZZZ������������������KKKPPPvvv]]]KKK�����匌�zzz������������������������KKK������VVV���������^^^���|||������������KKK������KKK���������PPP�����𙙙nnn������������������KKK������KKK���������KKKKKKKKKKKKKKKZZZ��鷷�eeeKKKYYY������```KKKKKKKKKKKKKKK��Ɓ�������������\�YYY���YYY������KKKKKKKKKKKKKKKZZZ���KKK��������镕�nnn������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[[[[[[[������������������������[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������KKKKKKUUUMMMSSS���������KKK���������KKK��������쀀�������[[[������fffMMM��ږ��ttt���MMM���������������aaa���������yyy{{{��怀�ttt���������KKK���������������eee��������烃�|||�����������槧�KKK������KKK���PPP���������MMM������������������������rrr������������������OOO������������������������PPP���������KKK������������KKK��������繹�SSS������������[[[��������᫫���������������������텅�TTT�����ꆆ�ppp���������zzz��������������񎎎RRR���������KKK�����ː��KKK������������������|||��𗗗lll�����鉉������ԍ��������������������KKKfffppp[[[KKK�����粲�[[[��猌�www���������KKK������KKK���������KKK�����͚��nnn��������������멩�KKKpppoooOOORRR������bbb���������{{{{{{���ttteee�����������Ӕ��kkk�����IJ��PPP���vvv}}}���������zzz�����炂�|||���ggg��������܄��rrr���KKK���������vvvvvv���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxx[[[[[[[[[ooo������������������������[[[[[[[[[[[[[[[[[[[[[[[[sss���������������������������������������������������������������������������������KKK���������RRR�����𺺺KKKmmm������uuubbb������KKK������KKK������KKK[[[������RRR���TTT������uuurrr��𧧧OOO������MMM�����恁�KKK���������KKK��������������̢��PPP������MMM������[[[������UUU������KKK��ŕ��WWW������TTT������ssssss���������������ddd��Ҭ��ppp���ppp������RRR�����������������������񩩩KKK������OOO��������𫫫KKK��������˻��RRR������������^^^������������������������������������```�����𧧧^^^���������eee������������������ccc���������MMMhhhKKK[[[��������������������꿿�RRR���^^^��������Ӌ�������灁�������������������KKK��������擓�VVV��山�^^^��Ծ��KKK������jjjKKK������KKKlll��˂��KKK������}}}ccc������������������LLL���������eee�����𤤤OOO������MMM�����쁁�mmm������PPP��紴�KKK������YYY�����끁�KKK���������MMM���������KKK��栠�PPP������MMM������oooaaa������KKKvvv���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[���������������������������[[[[[[[[[[[[������```[[[bbb���������������������������������������������������������������������������������KKK��������튊�[[[������QQQ���MMM������yyyMMMZZZ�����鷷�iii������ttt���������TTT��ۯ��]]]KKKeee��������쒒�RRRWWW��������̋�����^^^YYY���KKK�����������������Γ��TTTVVV������������[[[KKK\\\���������KKK�����ʌ��mmm��ᰰ�\\\KKKddd������������������PPP�����̓��PPP~~~��Ϊ��uuu��������������ڃ�����������MMM������fff��������񧧧YYY��񥥥��ã��SSS������zzz���^^^��������������������������������硡�\\\��𿿿MMM���������SSS�����갰���������𝝝```������KKK���������������������������������PPP���KKK���������}}}�����񉉉{{{���������������KKK��������齽�KKK��ж��nnn�����ѧ��WWWMMM���WWW������KKK���SSSSSS�����裣�MMMKKKRRR���������������MMM��������珏�___�����葑�SSSWWW������������mmmKKKUUU���������___MMM}}}������������ZZZ\\\���\\\���������^^^�����뒒�UUUUUU������������rrrMMMeeewwwttt������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vvv[[[[[[[[[������������������������������___[[[[[[������������[[[������������������������������������������������������������������������������������KKK���������eeefff������������������������������������������������������������������������������������������������������������������������KKK���������������������������������������������������������KKK��������������������������������������������β��^^^�����������踸�QQQ������������������MMM���������KKK�����񝝝PPP������WWW�����ʲ��KKKnnnQQQ������dddZZZSSS�����������������������垞�]]]������lllwww������TTT�����К��PPP�����̠��\\\������nnnyyy������KKK��������������������������������Ԉ��KKKwww��������튊�xxx��숈�������������������KKK�����ಲ�mmm```������������������������������������KKK�����������������񘘘nnn������������������KKK�����Ĺ��TTT�����������������������������������������������������������������������������������������������������������������������������������ꖖ�ooo������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[ttt������������������������������������[[[[[[```���������uuu������������������������������������������������������������������������������������KKKKKKKKKKKKggg���������������������������������������������������������������������������������������������������������������������������KKK���������������������������������������������������������KKK�����������������������������������������������ԧ��RRRooozzzeeeZZZ��������������������񿿿MMMLLLKKK������������}}}KKKKKKuuu������������]]]TTT��������𕕕KKK���������������������������vvvKKKKKKYYY������������WWWKKKRRR������������tttKKKKKKVVV���������SSSKKKKKKKKKKKK��������������������貲�KKK�����������슊������ˍ��������������������KKKKKKKKKMMMggg�����뤤�QQQ���������������������������KKK��������������������Ʈ����������������믯�KKKKKKKKKOOO��������������������������������������������������������������������������������������������������������������������������������������뚚�ttt���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������곳���������������������������������������������������������ʸ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񴴴�����������������������������������������ٸ����������������������������ι����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������욚�dddddd�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ä�������������������������҈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[\\\���������������[[[[[[[[[[[[���������������\\\[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk[[[[[[[[[[[[���������������[[[[[[[[[[[[���������������[[[[[[[[[[[[mmm������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk[[[[[[[[[[[[���������������[[[[[[[[[[[[���������������[[[[[[[[[[[[kkk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[\\\���������������[[[[[[[[[[[[���������������\\\[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƒ�������������������������ш��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvv���������������������������������������������������������333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333������������������LLLccc���������������������������������������������������ZZZUTT������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ē�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������333���������������������������������������������������������333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc333333333333333������UTT333333333���������UTT333333xww~}}RQQ���������|{{333���������������HGG333333CCC������������������tss333333XXX���333���������������������gff333333333rqq������CCC333333kjj���������vuu333���������===UTT���������333������333���������vuu333���������CCCRQQ���������ccc333333333yyy������===UTT���������HGGLLL������333333===���������������CCC_^^���������|{{333���������������333333333RQQ������������RQQOOO���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׊��������������������{{{}}}}}}}}}}}}}}}���������������������������������ccc333������������������333CCC���������������333~}}���_^^333OOO���������333333===���������333XXX������������������������333_^^���zyy333333������������������333===zyy������rqq������333LLL������333ZZZ������vuu333���������===UTT���������333������333���������vuu333���������===RQQ������HGG333���������}||������===UTT���������HGGLLL������OOO333���������������������333���������������333ihh������������kjj���������HGG333���������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~���������������������������ccc333���������������333������������������xww333���������333OOO������333vuu333���������RQQ333���������������������������333���������HGG333������������������333333������������������xww333���������tss333������vuu333���������===UTT���������333������333���������vuu333���������===RQQ���333���������������������===UTT���������HGGLLL������333_^^������������������333���������������ihh333���������������������������333xww������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc333���������������ZZZ333������������������333HGG������===OOO������ccc333���333ihh������333===������������������������������333333����_^^333������������������333yyy������������������XXX333���������333������vuu333���������===UTT���������333������333���������vuu333���������===RQQ���333rqq������������������===RQQ���������HGGLLL������333gff������������������333���������������333�������������������������333ZZZ���������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc333���������������ccc333ZZZ_^^_^^333333������~}}bbbUTT333OOO������333rqq���rqq333������333333_^^_^^ZZZ333nnn�����������������Њ��ihhXXX===333���������������333���������������������`__333���������333������vuu333���������======���������333������333���������rqq333���������===RQQ���333LLL_^^_^^CCC333������===333���������CCCLLL������333gff������������������333������������������XXX333���������������������yyy333������������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc333���������������333���������CCCbbb������������������333bbb���333������333������XXX333���������333������������������������������`__333���������������333���������������������333���������fff333������vuu333���������333333������333������333yyy������XXX333���������333\[[���333���������rqq333������===333���������333UTT������333gff������������������333������������������333���������333333333333LLL���������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc333������������������===CCC���kjj333���������}||rqq���lkk333������LLL333���������333OOO���333ZZZ���RQQ333������������������_^^������333vuu���������������333������������������������===333rqqfff333xww������vuu333===���_^^333333===yyyCCC333������333333tssvuu333333333rqqRQQ333���������XXX333������333vuu������===333333xwwRQQ333���鋊�333HGG���������������������333���������������������HGGCCC������333���������������������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc333���������������������nmm===ZZZ������������XXX===LLL���������OOO������������OOO������`__===gff���������������������ccc======}||���������������������333===������������������������rqq===UTT������������ppp���CCC===rqq��߅��CCCUTT���������OOO���UTT333_^^��ͦ��OOOHGG���������������{{{HGGLLL������������_^^������===LLL���������333333OOO`__���������������CCC_^^������������������333������333���������������������RQQOOO���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc333���������������������������������������������������������������������������������������������������������������������������������������������������������������333OOO������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ihhgff���������������������333�����ꬫ�������������333UTT���333���������������������333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc333������������������������������������������������������������������������������������������������������������������������������������������������������������������===333333333CCC��������������������������������������������������������������������������������������������������������������������������������������������������������������������̼��������������������������OOOUTT���333333333333333333333������333333333333333������UTTZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}}������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������㟞�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[������������������[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[������������������[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[������������������[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[������������������[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[[[[[[[������������������[[[[[[[[[eee������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[������������������[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ـ��```[[[[[[```������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƶ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������v��<��!��!��<��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������CCC333333333333nnn������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������r������������������t���������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���~}}333��������樦�333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������P����������������������P���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������333������������333nnn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������q����������������������������t������������������������������ccc333�����������������튉�333333CCC���333������vuu333���������������333333rqq���===UTT���������HGGLLL���������ccc333333333yyy������===RQQ������������������������333������������LLL333������UTT333333333���������===333333���RQQ���������===333===���333������333������vuu333���������~}}333������xww333333333333333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������'��������'����������������������������������������ccc333������������������333HGG������333333������vuu333���������������333HGG���������===UTT���������HGGLLL������HGG333���������}||������===RQQ������������������������333���������333���������333CCC���������������ZZZ333������HGG333���������333333������333333������333������vuu333���������}||333������tss333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u��������������@��B��������������w���������������������������ccc333���������������333���������nmm333������vuu333���������������333������������===UTT���������HGGLLL���333���������������������===RQQ������������������������333���������333LLL������333������������������===333������333������333���������333������333������vuu333���������}||333������===������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������:�������������۲�۲��8������������<���������������������������ccc333���������������333���������333������vuu333���������������333������������===UTT���������HGGLLL���333rqq������������������===RQQ������������������������333������rqq333���������ZZZ333������������������333\[[������333������333���������333������333������vuu333���������}||333������333333333HGG���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"��������������������m������������#���������������������������ccc333XXXXXXXXX}||���333���������333������vuu333���������������333������������======���������CCCLLL���333LLL_^^_^^CCC333������======������������������������333333===333LLL���������ccc333ZZZ_^^_^^333333�����꺹����\[[OOO333������333���������333������333������vuu333���������{{{333������===CCC������333_^^������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�������������֩��������.����������"���������������������������ccc333gffihhihh������333���������333������vuu333���������������333������������===333���������333ZZZ���333���������rqq333������===333������������������������333XXX}||OOO333UTT������333���������CCCbbb������������������333������333���������vuu333������333������vuu333���������OOO333������333gff������LLL===������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������:����������6��6��&�������������������<���������������������������ccc333���������������333���������333������vuu333333OOOlkk���vuu333`__���������===333CCC���RQQ333���������XXX333������333vuu������======333`__������������������333���������{{{333���������===CCC���kjj333���������UTT������UTT333���������333333cccUTT333333������333������vuu333333gffgff333LLL������UTT333������333LLL������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t����������������F��R��������(��������v���������������������������ccc333���������������OOO���������OOO������rqq���RQQ333���ccc333===OOO������===UTT���CCCCCCxww������������{{{HGGLLL������������_^^������CCCZZZ���������������333���������333������������nmm===ZZZ�����������ㆅ�OOO333ZZZ���������������\[[333ZZZ���333������OOO������ppp���LLL===~}}������������lkk===333LLLOOOihh���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ש�����������������������������������������������������ccc333���������������������������������������������������������������333������������===UTT���������������������������������������������������������������������������333rqq������===333���������������������������������������������������������������������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������o��������$�ѝ�������ݷ��@��������r������������������������������ccc333333333333333���������������������������������������������������������������===UTT���������������������������������������������������������������������������333333333333CCC������������������������������������������������������������������������333������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������N����������������������O���������������������������������������������������������������������������������������������������������������������ihhxww������������������������������������������������������������������������������������������������������������������������������������������������������������������\[[��������Ћ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������p������������������q���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t��;�� �� ��;��u���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***(((���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������IIIMMM��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������???CCC���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""&&&���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������KKKRRRRRROOO������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������NNN������������MMM������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ ������������������ - - -������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<<<������������������<<<������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������www������������vvv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������CCC>>>������>>>EEE���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrvvv���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������hhhjjj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������VVV!!! - - - """WWW���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������[[[zzz���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[���������������������������������������[[[[[[ddd���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[���������������������������������������[[[[[[ddd���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������[[[zzz�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������v��<��!��!��<��w������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������r������������������t���������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������P����������������������P������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������q����������������������������t������������������������������ccc333������������333���������CCC333333kjj������������===333���������LLL333���������������������������wvvCCC333333333gff���������HGG333333CCC��������ꑐ�333333333������������===RQQ���������ZZZ333333RQQ�����������ꃂ�===333333������333333CCC���333���������333333rqq���===UTT���������ZZZ333333RQQ���������333���������333���������������======���������������gff333��͔��333���������������������333`__���������������������fff333������������ihh333���������������rqq333333===���������333������������333���������UTT333���ihh333333333gff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������'��������'����������������������������������������ccc333������������333���������333LLL������333ZZZ���������333333���������333333����������������������CCC333ccc������RQQ333������333XXX���������������333fff���kjj333���������===RQQ������CCC333������===333������333`__������������333===������333333���������333HGG���������===UTT������CCC333������===333������333���������333���������������333���������������333UTT���333���������������������333`__���������������������333333lkk���������333333ihh���������ihh333����RQQ333������333������������333������333������rqq���������333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u��������������@��B��������������w���������������������������ccc333������������333������xww333���������tss333������333XXXXXX���333UTTCCC������������������lkk333������������333������RQQ333������������������CCC===���������HGG333������===RQQ���333���������333������LLL===���������������333_^^������yyy333���������333������������===UTT���333���������333������333���������333������������������333nmm��������͓��333������333���������������������333`__���������������������333333333������333===333���������333ihh���������333lkk���333������������333������333_^^������������������333gff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������:�������������۲�۲��8������������<���������������������������ccc333������������333������XXX333���������333������bbb===���333���vuuLLL���333������������������===CCC������������333������333===������������������333bbb���������nnn333������===RQQ���333������������333������333ccc���������������_^^333rqq����333���������333������������===UTT���333������������333������333���������333������������������RQQ333333333333333333������333���������������������333`__������������������333���333������333���333������333������������333LLL���333������������333333======���������������rqq333333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"��������������������m������������#���������������������������ccc333������������lkk333������`__333���������333������333lkk���333���===������333������������������333kjj������wvvCCC333333������333333_^^_^^ZZZ333nnn���333RQQ���������lkk333������===RQQ���333������������333������333_^^�����������������ᮭ�{{{XXXCCC333���������333������������===UTT���333������������333������333���������333������������������333yyy������333lkk������333333333333fff���������333`__������������������\[[333���333������UTTUTT���333���������333������������333XXX���333������������333HGG333������������333333kjj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�������������֩��������.����������"���������������������������ccc333333333333333333333������333���������fff333��ڸ��333������HGGbbb333������333kjj���������������333ppp������wvvwvvwvv������XXX333���������333������UTT333���������===LLL������===RQQ���333���������333������ZZZ333���������������������������333���������333������������===UTT���333���������333������333lkk������333���������������������333vuu���333���������333������rqq333UTT������333`__������������������333ihh���UTTZZZ���333������333_^^������333UTT���������333������333ZZZ���������333���ccc333���������UTT333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������:����������6��6��&�������������������<���������������������������ccc333�����������Ӆ��333���������===333rqqfff333xww���333������333333������bbb333���������������333CCC������������������������333ZZZ���RQQ333������333333}||RQQ333���������===RQQ������UTT333_^^xww333RQQ������333HGG���nnn���������LLL������===CCC������vuu333`__���������===UTT������UTT333_^^xww333RQQ������333333RQQwvv333333���������������������kjj333���gff===���������333���������fff333������333`__���������������333������333���333������fff333������}||333HGG�===333������333===CCClkk��̥��333������UTT333������fff333������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t����������������F��R��������(��������v���������������������������ccc333������������333������������rqq===UTT���������lkkXXX������OOOrqq������OOO���������������gff333���������������������������`__===gff������������fff===bbb������������===RQQ���������|{{LLLHGG{{{������������ccc333CCC���������rqqHGG333lkk���������ccc333===OOO������_^^nnn���������|{{LLLHGG{{{���������OOO���ZZZ===nmm������������������������333���333������������333���������bbb333������333`__���������������333���������333HGG333������333��������ꐏ�XXX===nnn���������OOO���fff333������333���������_^^ZZZ�����ׁ��OOO333XXX������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ש�����������������������������������������������������ccc333������������333���������������������������������������������������������������������������������CCC333������������������������������������������������������������������������===RQQ������������������������������������������������������������������������������333���������������������������������������������������������������������������������������������===333333������������333������~}}333CCC������333`__���������������UTT333���������333333rqq���������333������������������������������������������������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}���������������[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������o��������$�ѝ�������ݷ��@��������r������������������������������ccc333������������333������������������������������������������������������������������������������������ihh333333333333OOO���������������������������������������������������������===RQQ������������������������������������������������������������������������������������������===HGG���������������������������������������������������������������������������333LLL������������333333333333rqq���������333`__���������������333ihh���������nmm333������������333UTT���������������������������������������������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������[[[[[[[[[[[[���������������[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������N����������������������O������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ihhxww������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������p������������������q���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t��;�� �� ��;��u���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߇����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������읝�\\\[[[������[[[\\\��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������󨨨```[[[[[[[[[������[[[[[[[[[^^^������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[bbb������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[ggg������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ooo[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[ooo������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[^^^������������^^^[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[��������������������璒�\\\[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[��������������ꕕ���������������݆��[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[uuu�����������󨨨```[[[[[[^^^���������������{{{[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[mmm���������������eee[[[[[[[[[[[[[[[[[[bbb���������������rrr[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ggg������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sss[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[mmm������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[vvv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqq[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ttt������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������iii[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ggg������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[[[[[[[[[[[[[[[[bbb��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������흝�]]][[[[[[\\\��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������䌌����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vvvfffffffffffffffffffff���vvv���ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff������������fffffffff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vvv�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򝞟���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uvv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������def���qrrrss���������������������|||fffjjjjjj���������vvv}}}jjjhhh������������hhhjjj��������É��������������������fffqqqhhh������������fff���mmm������������hhhjjj������������hhhjjj���������fff���hhh������������������fff������fffppqwww{{{������wxxhhhjjjwxx������������������DDDDDDVVW���������===HIIHII������������������VVW������DDDDDD���DDD���������jjk���333eefDDD===���������===DDDaabPQQ������ffg333������MNNHII===���������������������===PQQHII������333������������������wxxnoo���ffg������������������������uvvfffjjjjjj������fff���������������ooo���fff������������fff���������fff���������������ooohhhhhhtuu���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x|}�����ә��������WWW���������������mmm������������hhh������vvv���������uuu������xxx��������������É�����������������ooo���������������������������mmm���������xxx���������������xxx���������������fff������hhh������hhhhhh������fff���������������fff��ٞ��qqq������������������������HII���������VVW���333���������DDD���������������VVW������VVW������DDD���������iij���333���������333��ݑ�����������333������333������PQQ���������333��ڀ�����������HII���������z{{���������������������ZZ[��λ�������ͮ��pqq���������������jjj������������mmm���sss������������z{{������fff������������ooo���������fff������������fff������������hhh���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[kkk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������oop���]]]��Ϝ�����������������������qqq���������������������vvv�����������������������������������É�����������������������������������������������mmm�����������������������Ι��������������������fff������hhh��༼�������������fff������mmm������ooo��ڞ��������������mmm������������333�����������ֵ��bbc���������333��݇�����������VVW������\\]������===���������iij���333���������kll���������������PQQ������333������333���������qrr��������������������Ə��===������������������������������}~~���uvv���yzz���������������mmm�����������������ű��qqq���������fff������fff������������{||���������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ooo[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ppp���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ijj������������������������������hhh���vvv������������������{{{������~~~�����������������������������漼����fff���������������mmm���������{{{������~~~������{{{������~~~������fff������hhh���~~~������ppq���fff��������ߺ�����fff��ڞ��������������qqq������������333�����������黽�^^_���������333��ᇈ����������SST������\\]������333���������iij���333���������eef���������������VVW������333������333���������kll���������������aabSST���������������������������stt���MNN�����������ݳ�����������������������������������������fff������~~���������fff���������hhh������������fff���������uvv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������eff������������������������������hhh���vvv���������jjj������qqq������uuu������fff������vvv���������fff������������|||������mmmuuu������qqq������uuu������qqq������uuu������fff������hhh���jjj������ppq���fff������ooo������hhh������jjj�����񂂃���������������\\]���������===���333���������PQQ������PQQ������333��߿��VVW������333wxx������iij���333���������333��釈����������VVW������333������^^_���������333��䀁�===������333������mnn���������������������pqq���MNN�����������起�������������������������������������������������ooo���������fff���������sss������������fff���������tuu������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tvw���eff��٣�����������������������sss������������������������jjjjjj������������mmmjjj��������ʑ�����fff���������jjj��������������◘�fffjjj���~~~���qqq��ٳ��mmmjjj������������mmmjjj������uuufffooo���hhh������������������fff���������hhhfff������������qqqhhh���������������������iij333PQQ���������ZZ[333ffg������������SST333������DDD333ZZ[���kll���DDD���}~~���333���===PQQ������������������noo���VVW333MNN������kll333SST������������aab������DDD333qrr������������������������������������}~~��������������������qqq������������������������tuu���jjj���������fff������������jjj���������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uxy�����̖��������WWW���������������mmm������������hhh���������������������������������������������������������������jjj���������fff���������������������������������������������������������������fff������hhhfff������������ffffff������������������������������������������������������������������������������������������������������������\\]������������������������333������������������������������������333������������������������������������������������������������������������ZZ[��ϴ�������ò��noo���������������ooo������������fff���������mmmz{{������������fff��������󞟟{||���������fff������������fff������������hhh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bcc���qrrqrr���������������������{{{fffjjjjjj���������������������������������������������������������������������hhhmmmfff���������������������������������������������������������������������������hhhxxx���������������fff�����������������������������������������������������������������������������������������������������������婪�������������������iij���333������������������������������������������������������������������������������������������������������������������uvvnoo���eef������������������������{||fffhhhhhh���������������fff������������ffffffffffff������z{{fffffffffffffff���������mmmhhhhhhtuu���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[\\\���������jjj[[[[[[{{{[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[ggg���ppp[[[[[[[[[[[[[[[���������������jjj������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���������[[[[[[[[[[[[xxx������������������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[{{{���������\\\[[[[[[\\\���������������������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[jjj[[[[[[[[[\\\���������������\\\[[[������������������������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���kkk[[[[[[��������������������٥��������������������������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������\\\ccc�����������������������������������ٖ�����������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������������kkk[[[\\\������������[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������������www[[[bbb������������[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������č�x�yo���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������������������������������������������춶����������������[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������޽�������������썂x���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������������������������������������������������������������[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�uj�uj�yn�������������uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\������������������������������������������������������������������\\\�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�yo�������uj����½����uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn��������������������������������������������������������������ɧ��ppp�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�������������yn�uj�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������iii[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ggg����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������춾�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������ΐ�}�uj�}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������΄uj�}s�������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�������������uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߖ���vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x��������������ބuj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������蝒��vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������އyn����½����uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�yo¾������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ί}s�uj�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�vk�vk�xn�}s��w��|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[[[[[[[[[[lll�����胃�[[[[[[[[[[[[iii����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn�uj�}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӿ���������������������vk�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[[[[[[[[[[```ggg[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񝚒�uj��}����yo���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾��yo�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������iii[[[[[[[[[ccc[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[bbb�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ۍ�x�uj�����������ćyn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������졗��vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��б��iii[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Έyo��������������ފ}s�yo�½�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʋ}s�xn�����������൮�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[������������^^^[[[[[[[[[[[[[[[[[[[[[[[[[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��x�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąvk�xn��w�vk¾����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[^^^������������������yyyqqqqqqqqq```[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������얐��uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�������������xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[������������������������������������[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҋ}s�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������؄vk�������������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn[[[[[[������������������������������������[[[[[[ggg�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׊}s��������������坚��}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����������ۄvk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������___[[[[[[[[[������������������������������������[[[[[[[[[```�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ί}s�uj����uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�������}s��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]][[[[[[[[[\\\������������������������������������[[[[[[[[[[[[```���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x����uj��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[\\\������������������������������������[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������썂x�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߖ���vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������^^^[[[[[[[[[[[[\\\������������������������������������[[[[[[[[[[[[[[[nnn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�uj��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��w������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[\\\������������������������������������[[[[[[[[[[[[[[[bbb����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½������}s�����������啎��uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ۖ���vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[[[[[[[[[[\\\������������������������������������[[[[[[[[[[[[[[[www����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�yn�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ύ�w�xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[������������������������������������[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������욕��uj�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[qqq�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ˊ}s�uj�}s�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[www�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��x��Қ�������������욕��uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk���¾��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxggg[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������줣�����������yo�½����}s�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[mmm���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�uj�uj��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⭲������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�����������睒��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[mmm�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�yo���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[[[[{{{��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᛐ��vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������㮮��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�}s�xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˖���uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����ۄvk�������������xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�½�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo���¾�����vk�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�yn�uj�����������������}����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�vk��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�yo����uj�}s����������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������Ҋ}s�uj�}s�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�����������읚��uj�����������񚕌�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąuj�����������������������ލ�x�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ċ}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������ˈyo�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������줛��vk��|�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s�������yn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�vk����������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�yn�����������Ąuj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������街��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ӂ��������[[[kkk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ί}s�������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ل��[[[[[[������jjj[[[������������[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s����������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��w������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}[[[[[[iii������������[[[���������������iii[[[[[[}}}�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ސ�}�uj�uj�����������咊�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�������xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{[[[[[[jjj������������������[[[���������������������jjj[[[[[[{{{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԋ}s�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąvk�������������xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[iii������������������������[[[iii������������������������mmm[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�uj�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾��vk�����������ۄvk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[iii������������������������jjj[[[������������������������mmm[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�������������vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{[[[[[[kkk���������������������[[[������������������kkk[[[[[[{{{��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}[[[[[[iii���������������[[[������������iii[[[[[[}}}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ćyn�����������吇}�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ل��[[[[[[������������[[[iii������[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������吇}��������Ί}s�yn�½�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������͋}s¾������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ن��������������kkk[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������󙍅�vk��������Ƌ}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąuj��������������얐��uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƈyo����}s��|����vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������孲���񱶲�����������ۍ�x�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߄vk�����瞕��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[iii����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������������ćyn�yo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Қ���}s����������������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��������␇}�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s�uj�uj�½����������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߄vk�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn�����������񶾹�����������˄uj�½����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ފ}s�uj�uj�uj�����������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��|�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�}s�������½�uj��줣��uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn������xn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ۄuj�½����������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|����������xn��ľ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�½����������}s�uj��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾��vk�����������w�vk�vk�vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�����۝���uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�vk�yo������¾������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�uj�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������󮧡�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������愄��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������͎�w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqq[[[~~~������������������������������������}}}[[[rrr����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[nnn������������������������������������������ppp[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׸½�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������莁w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[___��������ꄄ������������������������ꄄ����������___[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƛ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[���������ppp[[[������������������������[[[qqq���������[[[eee�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԕ���uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������줛��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[bbb���������[[[iii������������������������hhh[[[���������bbb[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��|�xn�xn��������������ʾ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������bbb[[[������������llllll������������[[[bbb���������[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj�uj�uj����������½�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ِ�ِ�ِ�٣����������ݛ�ۛ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w��������������������Ƌ}s���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn[[[���������[[[eee���������[[[[[[[[[[[[���������eee[[[���������[[[ppp�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������uj�}s�����}�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ݴ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾���w�vk��������؄vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[���������[[[���������lll[[[[[[[[[[[[mmm������[[[���������[[[aaa��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x��������ΐ�}�uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk���¾�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[���������[[[���������kkk[[[[[[[[[[[[kkk������[[[���������[[[```����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s������������vk��ꎁw������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn[[[���������[[[eee���������[[[[[[[[[[[[���������eee[[[���������[[[ooo�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������������������uj��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s������������xn��|�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������aaa[[[������������kkklll������������[[[bbb���������[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn��������������⒊��uj�����x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�����租��vk��|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[bbb���������[[[iii������������������������iii[[[���������bbb[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�yn�½�����έ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ۈ����������ݛ�ۛ�ې�����������٨���ۣ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�vk�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[���������ppp[[[������������������������[[[qqq���������[[[eee��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������è�������������؇xn��������w����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[```��������섄������������������������섄����������```[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������zp�������������������vk�|r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj����uj�������������������}s��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߒ�|�vk�vk��|���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[ooo������������������������������������������qqq[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn����������vk����������|r�vk����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�����������������咊��uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�xn�����ؠ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqq[[[~~~������������������������������������~~~[[[qqq�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������斊���������{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ĉyo�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������΄vk��ߎ�w������vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������脄��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�u������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӈxn�����͒�|���w�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~s���������u��w�������xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|�����虍������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������殧������䠖��xn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ׄuj��������������x��x�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߎ�w�vk�vk����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�����㖊��yo�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������yn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ċ}s�}s�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u��͌~s�������xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������΄uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ꡗ��vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƅvk�u����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�xn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������▊�����������������vk�������zp�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}������}s��׽����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������蠖��vk��������������ʻ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�����Қ����x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�����������򛐈�vk�vk�vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ӄvk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׍�x�uj�yo������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�}s�����׈yo����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�������������vk�xn�vk�xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�yn�uj�uj��}�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u�������������������vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������΄uj�uj�����Ԗ����}�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƫ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�½��x������yn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƈyo¾�����xn����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn��ظ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������떊��vk�vk�|r��������{�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӓ�|��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{�����Ävk�����������{�vk����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s����yn�}s�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s���������xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��������̈́vk��������������Èyo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԥ���½�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�����w��w¾��}s�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�����졗��vk��|����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½����uj�����읚�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{��{�����莁w����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����{��w�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ؑ�{�vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˝����吇}����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾��xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߞ��������������¾��vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ����������������������������������������������������������������������������������������������������������������������������������������������������������vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�vk�xn�vk���������vk¾����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ�������������������������������������������������������������������������������������������������������������������������������������������������������������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk����������vk��|����vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������͎�w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������΄vk��������������������ߎ�w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn��������������ꎁw��w����}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾�����}s���������������¾����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������批������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������քvk�vk��������������΄vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ܛ�ܛ�܉�֒�������������������߿�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������غ�ңeҠ^џ]ҟ]Ҡ]ҟ]џ]П^͜[ϩuо��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��w�����������w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߾���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������غ�Ҡ^Ҡ]ў\ѝZѠ^ҥhԩpխzԬuӧlҡbϝY͚X͛YΜ[ѩt�ֿ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������։�֒�ٿ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׺�Ѡ^ҟ\ҡaճ��Ȭ����������������������������Ƿ̲�΢hΜYў\حs�ŭ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƅvk�}s�����������ċ}s�vk��w������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZ���������ZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZ���������ZZZ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������̲ҡ`ҟ\Ҡ]ؾ�����������������������������������������������î΢iӟ\ќYӪu�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s��������؄vk�����ʻ���vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������^^^ZZZ���������ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ���������ZZZ___�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٿ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ؾ�ҟ]ў[ֳ����������������������������������������������������������Ϻ�Ԣ`Ӟ[جq�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�}s�����������|���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```ZZZ���������\\\ZZZZZZZZZZZZZZZZZZZZZZZZ\\\���������ZZZbbb�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ճ�Ҡ]ўZ�Ȭ������������������������������������������������������������������جrԡ]֥e�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������瞔����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������dddZZZ���������^^^ZZZZZZZZZZZZZZZZZZ]]]���������ZZZ[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ֳ�ҟ\Ңc���������������������������������������������������������������������������ڴ�ЛWО]�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w����������yo��������Ʊ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkkZZZ|||������bbbZZZZZZZZZZZZaaa������ZZZ]]]ZZZ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������áҠ]Ӣd���������������������������������������������������������������������������������ձ�ќXզl����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo����vk����������vk��|��w��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqqZZZuuu������eeeZZZZZZeee������xxxZZZbbbZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҡ^ҟ\���������������������������������������������������������������������������������������֫sա]۵���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������λ����������ӄvk�}s���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxZZZooo������llljjj������rrrZZZwwwZZZZZZZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ңeҟ[�Ȭ������������������������������������������������������������������������������������������קiԠ^�ɭ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w��ċ}s�����잔�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZjjj������������lllZZZ~~~���ZZZZZZZZZ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ĥҟ\ִ�����������������������������������������������������������������������������������������������տЛVѡc��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�����ߒ�|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZeee������gggZZZ���������ZZZZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӣcџ]���������������������������������������������������������������������������������������������������հ}ϜX�Ħ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�����ʤ���xn������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZbbbbbbZZZ������������ZZZZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ў\ٿ�������������������������������������������������������������������������������������������������������ӟ]֦h�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������街��vk��|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ҡbў[���������������������������������������������������������������������������������������������������������ݹ�ԡ]�ս��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᛐ��vk�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ҟ]ԭv����������������������������������������������������������������������������������������������������������βԠ\ճ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|����xn�}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ťҟ\���������������������������������������������������������������������������������������������������������������Ԡ\Ңc�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӌ}s�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������կ{ў[���������������������������������������������������������������������������������������������������������������ڰyԡ^���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��|��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ѡ^ўZ���������������������������������������������������������������������������������������������������������������߾�ѝZ�ĩ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ơ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҡ^ӣe������������������������������������������������������������������������������������������������������������������ЛX׼�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ҟ]Ԫr����������������������������������������������������������������������������������������������������������������ίѝZٻ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������џ\ְ~����������������������������������������������������������������������������������������������������������������ԻԠ\߽�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҡ]կ|���������������������������������������������������������ñ�����������������������������������������������������ѵա]���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ҟ]թq�������������������������������������������������������̺�~L�������þ�������������������������������������������̫ԡ]�ɨ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ѡ^Ҥg�����������������������������������������������������粔i�J��V�������������������������������������������������ơԠ]�ҷ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Өlў[����������������������������������������������������λ��SĊI�yG������������������������������������������������۷�Ӡ\���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׸�џ\�Ȭ�����������������������������������������������糔h��OȌI��F�}Q���������������������������������������������Ѡ_Ҡ]����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ѼҠ]׳�����������������������������������������������ʵ��VːOÃ:ÉH�yG����������������������þ�������������������ϸϜY֯{������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ѡ^Ҡ^��������������������������������������������洔f��RɋF�~4ąA��F�}P���������������������������������������ҵ�̚Y�ƨ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ճ�ҟ\�Ƨ����������������������������������������DZ��XЕTń:�}3��6ƋJ�zI��~������������������������������������ŖZȘY������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������џ]Ңd��������������������������������������氐aĒU͐KÁ8�5�5ćC��E�yJ����������������������������Ŀ���ū���Tʥv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԭuў\�������������������������������������ë��ZҚYɉ@Â8€7€7��8ÊI�xF��y���������������������������ž���P��T������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҡ^Ѡ^��������������������������������䰏_ƕXЕQLJ>‚9��8��8��9ÇC��H�}M�����������������������������e��N��u������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������غ�Ҡ]̟b��������������������������������Z՝\ΏGƇ>��8�6‚9ƒ:Ä<ǐO�~K��~�����������������������o��J��X������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˪yԠ]جr�����������������������ᮌ\ȖZԘU͎FƇ>��9��8��9„<Ä<ƌI��M�}L����������������������I��Oü����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������٫qա]ٯx������������������μ���Z՞^ГJΐGɋCÅ=ƒ;Å=Å=Å=ć?ȑQ��M��~����������������~H��K������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������רjԠ]שm��������������ଊYʙ\ЖR͏FϒȈGɋCƉAŇ?ć?ć?ć?ȎK��P�~M�����������r�~H��K������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٰxԡ]գb�д������˸���[Ԟ]͐I͐GΐHΒIˏFȌCƊAʼnAň@ň@ʼnBʕT��M��������d�I��L�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ё�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ܷ�ա^Ԡ\ٯx�Խ��V̛^ԛWΒJΒJДMϔL͑JʏGȌEƋCƊBƊBƊBȑM��R�u>�I��J��T��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������쨨�mmm����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ϰդeԡ^��F��CӛVѕMіNіNіNЕMΔL̑JʏHȍFnjEƋDʼn?ą9ȌB�w8�x?��q������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lll������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ֶ��w8ȍD΍=̈5΍>ϐCϑEϑFϑG͏EˍAȊ>LJ;ă3ā0ā1Ƈ:��E�}I��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrr������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;���YқUΎ>̊7̉5̉5̉5̉5ˈ5ˈ4Ɇ4ȅ3Ƅ3ń2ņ6lj=ȎEϝ_��W�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񡡡��������������������𠠠mmm�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������a̟eա_қVқVїOЕKϓGΐC͎?͏A͐D̐FˑI˓M˓NʓN˓N͙WĘ]��Z�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������枞�������mmm�����������㎎�������������ppp����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƿ��_اkӝZӜXӜXӜXӜXӜXӜX՞]ՠ`ӝ[КVϘSΖR͖Q̕Q̕Q̖Rѡd��VĽ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lll���������nnn������ooo������������mmm�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������鼠zƛc֤eӝYӝYӝYӝYӝZ֣cةlҥjˠgѤi֧jӠaϘUΘS͗S͗S͗RО_��^��p�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk������������kkk���ttt��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������뭌Z֨mԠ^ӞZӞZӞZԟ\רjΣi��`��Y��l��Z��\ʞeզiЛXϙVΙUΙUϛYѣh��U�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk���������������gggnnn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʸ�dتmӟ[ӟ[ӟ[ӟ[֧gʡh��^�Ϻ�����������IJ�^ŝeԤfМXϛWϛWϛWԦi��`�˾��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lll������������������kkkpppqqqqqq������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������›fרjԠ]Ԡ]Ԡ]գ`֩n��^��������������������ز�\ҥlң`ѝZѝZѝZԥg��c˼������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񗗗������������������������iii���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������è�ʡh֧gԡ^ԡ^ԡ^֧gʡh¦}���������������������Ʈ�Ŝe֦gҟ\ҟ\ҟ\ԥeȟf��~��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񳳳|||���������������������������kkk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bҧn֥eԢ_Ԣ_Ԣ_ةlÝg�¥����������������������ɱ��fשlӡ^ӡ^Ӡ^ԤcЦl��b�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~������������������www������������nnn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jҧn֧gգ`գ`գ`ةlǟgѻ�����������������������ŪÝgתlԢ_Ԣ_Ԣ_֦fѧm��i����������������������ti�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񈈈������������������������������������RRR������������mmm������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʲ�ʡhתkդbդbդb֪iΥm��r���������������������ħ}ʢjתkԤaԤaԤaשkƠh�������������������������uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������龾�ooo��������������������������������������������������™������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˵Ġj٭pեbեbեb֧fٯu��f�˲�����������������»�cٯs֧fեbեbեb֬p��k������������������������yn��}�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������𷷷mmm��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ս�eڰv֦d֦d֦d֦dثmҫr��aһ���������������aҩpثn֦d֦d֦dѥdЭv��f��������������������������Ąuj�����򝛓�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������𾾾ooo������������������������������nnnkkkkkklll��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bҩp٭p֧f֧f֧f֧f٭pׯvơk��a��\��aşj֮uٮr֧f֧f֧fϥfΪqɨq��c����������yn�uj����������������uj�yo�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������徾�ttt�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¿�dٰwתk֧f֧f֧f֧f׫lڰvڲxٰwڲxڰv׫l֧f֧fԧfΥģlѯx��f�Ծ����½�uj��������ߍ�x��������ۄuj�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vvv���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ͳ�ȣlڱx֨i֨h֨h֨h֨h֨h֨i֫k֨i֨h֨h֨hԨh̦i˥jұyĥn�����������x��������͉}r��x��}�����㮲�����uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������纺�sss������������zzz��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������gҫrڲx׫l֪i֪i֪i֪i֪i֪i֪i֪i֪iөi̧j̩mӲyέr��e����������uj�������}r�����˄uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ス�nnn��������ъ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bͧnڴ{ٯs֫k֫j֫j֫j֫j֫j֫jҪk̨kϭtԵ|Ȩp��b����������������uj��}����������}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������뷷�mmm�����ы��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʫ~ǡjׯvڳzٱuدr׭n֫k׭nѭrήvѲzѲy��jë|�����x�uj��������ۇyn�}r�������uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\�ppp����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˱ÜbͦnӬrڳzܶ~۵~Դ~ϱ|̭tǨn��c�˭����uj��������㠞������ߚ���}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ň���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƨȤp™^şf��k��g��_��o�Ʀ������uj��������҉}r�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������㏻؏�؏�؏������������ܛ�ܩ���������������ޛ�ܡ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj��ҵ���}r��͠���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������둽�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��x��x��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����׫���uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj�������������������uj�uj��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������젞��������������uj�����ҩ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������돻؛�܏�ذ����������䑽٩�ᑽ������������葽٩�ᑽٿ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�}r������������}r�uj�}r��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������ׇyn��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������Ľ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����՗����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������욕��uj�uj�����������썂x�yo�yn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������썂x�yo�������uj�½����������uj�}r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn��������˄uj����������������uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[������������[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[������������[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������㕎���������̈́uj����������½���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�yo����������uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������߉}r������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������֍�x��������������������������x�uj����yn��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r��}��������������������������ۖ����x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r��}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������쩪�����������������uj�������}r��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������썂x�����}�uj�������������uj�yo������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������uj�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������썂x������}r�����������������׉}r������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn�����߄uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������x��͐�}���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[������������[[[[[[[[[[[[[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������҇yn�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[������������[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r�yo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj��x�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򚕌��x�������������������������½�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������������������҇yn��x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj���������������������������yn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½��������������̈́uj�����׍�x��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r����uj�½����������uj�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r�����߄uj�½�������½�uj�uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r��������������͚���}r��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ׄuj��������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�uj����������½�uj��Ġ���}r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn��������ח�������쐆}�uj��x���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������ĉ}r�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj��ͮ����x��۠��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½����������������uj�����ˣ���yn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąuj�uj����������������yn�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����x�yo�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x��򣣜�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ң�������������ۄuj��������͍�x�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�uj�}r����������������������������uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo����uj�������Ąuj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Մuj�����ے���yo����}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�������������uj�uj�yn����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������ې�}������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������̈́uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������̶�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{q�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������垔��uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�zo�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߙ���uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ͯ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߸����������������|�}r�uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������袙��uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{q�zo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������瞔��uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r�����������薊��uj�uj�{q��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{q�����ᮧ��{q��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������~s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|�����च��uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߺ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ؖ���uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}r��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƅuj�xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ֈzo����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{q�����������墙��}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߾���xn�}r����uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ɺ�������������ǥ����Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ͩ����Έzo����������������}r��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������坒��uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�{q����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߙ���uj�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�~s����xn�����������坒���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ة��������uj�����軶��xn�}r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򌋋��������������򉈈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򉈈��������������������������������������������������������������������������������������������������������������������������������������������򥣣�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򆅅///FEE���������***������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***���������������������������������������������������������������������������������������������������������������������������������������������ihh���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQ{zz���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQ{zz�����������������������������������������������������������������������������������������������������������������������������������������򋊊===���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$|{{���������������������������FEE������������]]]������utt666��������������������򿾾FEEonn���������uttIII___TSS��򠟟���������������������������CBBWVV���������������������WVVnmm���������***������]]]fee������NNNtss322������utt666���������������������KKK///���������������aaa@@@���������������FEEYXX���������������|{{===�����򏎎��䬫�������������������������@@@TSS��������򑐐///���������kjjYXX��򖕕$$$���������///���������CBBIII��������򗖖$$$322��������������������򺸸$$$lkk��������򠟟������///������������FEE���������CBBIII���������onn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===666������322�����������������������򪩩�����������򛚚�����򻹹vuu���������������������FEE�����ϙ��\\\�����������Ή��RQQ��򠟟������������������������***KKK������***PPP������������������UTTnmm���������***������\\\fee��򋊊������aaa�����򻹹vuu������������������\\\***������onn��������򉈈������CBBCBB���������PPP999������{zz������������{zz===���������������������������vuu���������������������$$$322�����ϥ��@@@�����򐏏///���������ihhYXX��򖕕$$$������rqq$$$���������$$$PPP������@@@CBB��򼻻rqq��ŕ��������������������YXX�����қ��yxx������322PPP������RQQ322��¾��666�����򪩩���������$$$PPP������@@@CBB��򜛛�����ژ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򫪪�����������������������򈇇$$$������������III���***������������������������������\\\$$$�����������򢡡��Ԭ�����������NNNRQQ��򠟟��������������������򯮮��������򲰰������������������UTTnmm���������***������\\\fee���utt***���������������������������������������������������999baa�����������������������򾽽��������򑐐������������{zz===��������������������������������������������������򭬬�����������򱰰�����򐏏///���������ihhYXX��򖕕$$$������NNNedd�����򭬬������������������rqq999���������lkk��������������򤢢@@@������������utt322���������������666ihh�����򿾾�����򈇇$$$�����򭬬��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򈇇***���������������yxxTSS���������������������������$$$���������������������������$$$$$$nnn���CBB��򠟟��������������������򄃃///������������������������������UTTnmm���������***������\\\fee��򾽽===zyy��������������������������������������㮭������ѓ��666������������������***�����򜛛������������������������{zz===�����������򲰰������������������������������������~~///��������������������򐏏///���������ihhYXX��򖕕$$$������NNNlkk�����򃂂���������nmm����GFFonn��������򞝝���������������������������������FEE322��������������򍌌PPP�utt�����򈇇***�����򃂂���������nmm���������ᕓ�RQQ///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򈇇***��������򍌌***��򾽽��������������������������������������������������������ߖ��rqqcbb666��򠟟��������������������򊉉***������������������������������UTThgg���������$$$������\\\fee��������͉��onn___���������������������������������$$$cbb���������������KKKlkk���|{{999������������������������{zz===��������������򛚚���������������������������������vuu@@@��������������������򐏏$$$���������feeYXX��򖕕$$$������NNNlkk�����򋊊ihhihhihh���NNNihh��������򙘘�����������������������𿾾���$$$��������������������򺸸�kjj@@@�����򈇇***�����򋊊ihhihhihh������$$$fee������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tss�����򧦦�����򈇇***���������999{zz������������������������������������������������������������������������WVV\\\��򠟟��������������������򵳳��������򢡡������utt���������UTT666���������������\\\fee������������������������������������������������999999�����򹷷��ަ��������������WVV]]]���onnFEE������������������������{zz===������������������zyy������������������������������vuu@@@��������������������򐏏���������322utt��򖕕$$$������NNNlkk�����򷵵���������wvv999���{zz///���������YXX�����������������򾽽///PPP�����������������������������������������򈇇***�����򷵵���������wvv999��򭬬������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322GFF������aaa������������������nmmFEE���������������������������������������������������322@@@�����������򠟟�����������Ӌ�����������===322������ihh������wvv������UTTfee���PPP������\\\fee������cbb���ihh������������������������������������������������������������999���򎍍$$$������������������������{zz===���������������������666fee���������������������������vuu@@@��������������������򐏏FEE���ppp�����򖕕$$$��򵳳666NNN���������@@@999���������������TSS���onn������������������666�����������������筬�utt�����򦤤������III������aaa���������@@@999���������������{zz���edd������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322������������///������666���RQQ===������yxx///������@@@��������򸶶322������������������������FEETSS�����������򾽽@@@���������TSS///wvv�����򠟟������===������$$$***___������hgg$$$666{zz���������666���GFF���onn|{{onn$$$***���������tss|{{�����򳱱@@@999���������������������������������������������WVV322�����������������������򯮮��������򹷷������aaa���{zz===�����򵳳������������vuu322���������������������������vuu@@@��������������������򞝝NNN���///ppp�����򤢢GFF���FEE///���������ihh$$$@@@�����������򲰰KKKUTT������������������������������������������///322������322GFF������yxx///���������ihh$$$@@@�����������򭬬===@@@��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򈇇***��������������������������������������������������򳱱nnn�����㵳�///TSS��������������������������򠟟���������������������������������������������������������������������������������������������������������������������������������������������������FEE@@@�����譬����������___***������cbb$$$���������322YXX������666TSS������GFF@@@===������������������322cbb���������������������������vuu@@@���������������������������������������������������������NNNlkk��������������������������������������������򬫫������������������nmm�����淵������������������������������������������򈇇***��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ɨ�������������������������������������������������������򷵵FEEutt�����������������������������򠟟���������������******yxx������������������������������������������������������������������===FEE������������������������������������������������������TSS���������������___@@@���������������FEEYXX�����������𞝝===��������򠟟PPP������������������������������wvvCBB���������������������������������������������{zz�����򳱱�����������������������������������������������򬫫���������������������322{zz��������򞝝�����������������������������������ɨ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ϟ�������񑐐�����������ڜ����������������������������������������������������������������������򮭭��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ɕ�������������������������������������������������������������ԙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʾ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Γ��|{{���������������������������������������������������������������������������������=1�<1�=1�<1�<1�<1�;0�=1�<1�<1�<1�<1�=1�=1�=1�<1�<1�<1�<1�=1�=1�=1������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ޕ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ꕓ������������������������������������������������������������������������������������������������������������������������������������������������ٚ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٚ�������������������������������������������������������������������򌋋�����������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򥣣��������������������������������������������������������������������������������������������������������������������������������������������������������������Γ��|{{��������������������������������������������������������������������������������������������ٚ�������������������������������������������������������������������������������������������������������������������������������������������������������������ᚙ�|{{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򲰰999YXX$$$���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEEUTT===utt�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򆅅///FEE�����������������������������������������������������������������������������������������������������������������������������������������������������������������򢡡FEE������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ihh��������������������������������������������������������������������������������������������������������������������������������������������������������򲰰999YXX$$$������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$$$$\\\***�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򝜜������������$$$vuu������������������������������������������������������������������������MC�PE�I=�I=�I=�I=�J=�I=�I=�I=�I=�J=�I=�I=�I=�I=�I=�I=�I=�J=�PD�MC�������������������������������������������������������������������������������������������������������������������������������������������������������yxx��������򕓓��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򋊊===�����������������������������������������������������������������������������������������������������������������������������������������������������򝜜������������$$$vuu�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򼻻{zz���������\\\999������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������򲰰���������CBBIII������������{zz�����������򥣣322lkk�����򑐐///������������KKK///������������CBBIII������������������������YXX666�����������򥣣322lkk��������򧦦322zyy��������򩨨322utt���������}||$$$322������������nmmRQQhggPPP������������WVVnmm���������***�����������я��|{{���qppNNN������������������������������������������������������������������������QF�SH�J=�J=�K>�K>�K>�K>�K>�K>�K>�K>�K>�K>�J=�K>�J=�K>�K>�J=�SG�PF�������������������===�����򧦦322zyy���������KKK///��������������������������������������������������򣡡��������꯮�{zz���������������{zz���������$$$��������򥣣322lkk�����򽼼///KKK������������������{zz===������������������������CBBWVV���������������]]]fee�����򩨨322utt���������{zz���������������������======vuu���������������YXX///������������666��������򤢢***{zz���������������������FEE���������������}||FEE������������������YXX///�����������������򣡡���������///��������������򱰰���������������aaaYXX���������CBBIII���������NNNtss322���������nmmRQQhggPPP�����򾽽666������������$$$|{{������uttIII___TSS���������������������FEE���������CBBIII���������������������onn���������666utt��������������������������������򚙙������uttIII___TSS��򑐐///���������������������YXX///������������������}||FEE�����������������������������������������������򠟟������uttIII___TSS�����򩨨322utt���������{zz���������666utt�����������������������򉈈///������������}||$$$322���������������]]]���������������������{zz///ihh������������]]]fee������KKK///������������///������///���������������������\\\322������������FEE���������������������������NNN������������������CBBWVV���������������������rqq���������WVVnmm���������***���������pppPPP������[ZZCBB������������___�����������������򑐐///���������kjjYXX��򬫫�����������������򱰰===������CBBWVV��������򖕕nmm��������������򐏏���������������wvv$$$���WVVnmm���������***�����������я��|{{���qppNNN�����򥣣322lkk�����򠟟���������CBBIII���������onn���������666utt������������������������}||$$$322��������򽼼///KKK��������������������������������򯮮��ё��///���������kjjYXX��������ࠟ�yxx���������������YXX///������������������{zz��������򖕕nmm��������������������򿾾FEEonn������������CBBWVV���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������======������$$$PPP������@@@CBB���������$$$��������򿾾wvv��ɭ�����򐏏///���������cbb$$$������ihh������$$$PPP������@@@CBB������������������322�����Ѳ��@@@�����򿾾wvv��ɭ���������tss��Ŝ�����������nmm��ƞ�������򏎎������vuu�����򇆆������lkkNNN������������UTTnmm���������***���������$$$NNN666NNN������������������������������������������������������������������������������������������������������������������������������������������������������������===\\\������������������tss��Ŝ��������cbb$$$������ihh���������������ppp322�����������򚙙��������������򢡡������baaGFF322666�����򍌌�����̐��������$$$�����򿾾wvv��ɭ������$$$RQQ������@@@YXX���������������{zz===���������������������***KKK������***PPP������������\\\fee������nmm��ƞ�������򍌌�����̐��������������������===\\\������}||///$$$���������TSS***������fee������������RQQ������]]]��˨�������������������򪩩������������������}||FEE���������������TSS***������fee��������������򢡡������rqq$$$�����������������򱰰���������������aaaYXX������$$$PPP������@@@CBB��򋊊������aaa�����򇆆������lkkNNN������$$$KKK������������===666������322�����������Ή��RQQ�����������������򪩩���������$$$PPP������@@@CBB��������������򜛛�����ژ�������򚙙�����������������������������������򚙙�����������Ή��RQQ��򐏏///������������������TSS***������fee���������������}||FEE�����������������������������������������������򠟟�����������Ή��RQQ������nmm��ƞ�������򍌌�����̐�������򚙙��������������������������򈇇***��������򏎎������vuu��������򛚚���������������������{zz///���������FEE���������\\\fee���cbb$$$������ihh������rqq$$$�����萏�///������������������YXX������RQQ$$$�����򪩩���������{zz������������������������������onnIII���������***KKK������***PPP�����򕓓YXX������///���������UTTnmm���������***���������zyy������UTT$$$������PPP$$$��������������򥣣FEE�����򐏏///���������ihhYXX������vuu�����������������򱰰������������������***KKK������***PPP������|{{��׻�����������������������������������$$$����UTTnmm���������***���������$$$NNN666NNN��򿾾wvv��ɭ�����򠟟������$$$PPP������@@@CBB��򜛛�����ژ�������򚙙���������������������������������������������vuu������$$$RQQ������@@@YXX���������������322ppp������������aaaCBB��򐏏///���������ihhYXX������322PPP$$$666������TSS***������fee�����������򍌌�����̐��������|{{��׻�����������������������FEE�����ϙ��\\\������***KKK������***PPP������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����򪩩�����򭬬��������������������򻺺���322������uttCBB�����������������򐏏///��������������������򕓓��ڭ�������������������������������򚙙���������������$$$rqq���uttCBB������������������wvv999���������{zz322���zyy666��������򯮮������999utt���������@@@qpp���322utt���������322NNN������������UTTnmm���������***������III@@@���������NNN�����������������������������������������������������������������������րQQ�OO{EE|FF{EE|EE|FF|FF|EE|FF|EE|FF|FFNB�NB�NA�NA�NA�NA�NA�WK�XN�������������������==={zz���������������wvv999���������{zz322��������������򕓓������������������������������999aaa��������������򢡡��򻺺���������ihh������666~~������������������$$$������uttCBB������������������������������]]]322���������������{zz===�����������������򯮮��������򲰰������������\\\fee���zyy666��������򯮮������666~~������������������������������==={zz������������***@@@�����������������������������������������������������򉈈�����������������򈇇$$$������������������}||FEE��������������������������������������������򢡡������NNNedd�����������������򱰰���������������aaaYXX��򭬬������������������utt***���������������322utt���������322NNN��򪩩��������򦤤��������������򫪪��լ�����������NNNRQQ�����������������򈇇$$$�����򭬬�����������������������������������������������������������������������������������������򚙙��򬫫���������NNNRQQ��򐏏///������������������������������������������������}||FEE�����������������������������������������������򠟟��򬫫���������NNNRQQ���zyy666��������򯮮������666~~�����������������������������������������������򈇇***���������999utt���������@@@qpp������III���***���������������������{zz===������������RQQ������\\\fee��������������򕓓������NNNedd�����򐏏///�����������������������������ߐ�������򈇇$$$��������������������������������������������򻹹|{{��򯮮��������򲰰������UTTihh������aaa|{{������UTTnmm���������***�����򾽽������������������������������aaa������feeihh�����򐏏///���������ihhYXX��������������������������򱰰��������������򯮮��������򲰰������������������***nnn���������������RQQKKK��������䮭�������UTTnmm���������***������III@@@���������NNN���uttCBB�����������������򠟟��򭬬���������������������������������������������������������������������������������999utt���������@@@qpp���������������]]]322��������������򋊊�����������������򐏏///���������ihhYXX��򄃃���������666���������������������������������666~~������������������������������***nnn���������������\\\$$$�����������򢡡��ԯ����������򲰰������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz������322KKK�����򃂂���������nmm�������nmm]]]���������***���������hgg�����򐏏///��������������у��===YXX��򃂂���������nmm����������������UTTPPP���������������hggFEE���***���������hgg������IIInnn��������򫪪���IIInmm������������������������������tssCBB���������������feeNNN������������UTTnmm���������***������������������\\\NNN�����������������������������������������������������������������������ւSSȫ�}HHŧ�}GGŧ�}HHŦ�}GGŧ�}GGŧ�}HHOB�NB�NB�NB�NB�OB�OB�XM�]R�������������������==={zz���������������IIInnn��������򫪪��������у��===YXX�����������������������������������򢡡��򏎎������������������322���������hgg������$$$������***���������hgg��������򽼼qpp***������������������{zz�����������������򄃃///������������������������\\\fee���IIInmm������������������322���������hgg������������������==={zz�����������򢡡��滹�ppp���������ihh������������������666|{{���TSSaaa���===�����������������򈇇***������������������}||FEE�����������Ļ��ppp���������ihh��������������򢡡������NNNlkk�����������������򱰰���������������aaaYXX��򃂂���������nmm���辽�===zyy���������������������feeNNN��򃂂///������������������������������������$$$$$$nnn���CBB�����������������򈇇***�����򃂂���������nmm���������������������ᕓ�RQQ///��������������������������������������������򚙙������$$$$$$nnn���CBB��򐏏///��������������ʻ��ppp���������ihh���������������}||FEE���������������������������fee�����������������򠟟������$$$$$$nnn���CBB���IIInmm������������������322���������hgg�����������������������������������򈇇***���������������������tssCBB���������yxxTSS������������������{zz===���������������������\\\fee��������у��===YXX������NNNlkk�����򐏏///��������������Ҽ����������������������򈇇***������������������������������������������������ihhCBB��򄃃///���������������������***������TSS���999������UTTnmm���������***�����򾽽�����򻺺������������666���򌋋NNN���KKK������$$$�����򐏏///���������ihhYXX��������������������������򱰰��������������򄃃///��������������������맦�cbb�����������������򥣣������UTTnmm���������***������������������\\\NNN���***���������hgg�����򠟟��򃂂���������nmm���������ᕓ�RQQ///������������������������������������������������������������tssCBB�����򽼼qpp***��������������������������򐏏///���������ihhYXX���UTTbaa��������򕔔��񻹹ppp���������ihh������������322���������hgg��������맦�cbb������������������$$$�����������������������񄃃///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===]]]�����򋊊ihhihhihh������������GFF{zz���***ihhihhihh666��򐏏***��������򼻻***vuu��������򋊊ihhihhihh���������������322{zz�����򾽽$$$$$$///���***ihhihhihh666���PPPihh��������򦤤���PPPihh������������������������������onnIII���������������aaaNNN������������UTThgg���������$$$������������������ihhNNN�����������������������������������������������������������������������ևXX�TTƨ�~HHƨ�~HHƨ�}HHƧ�}HHƧ�}HH}HH���������������������������������������������==={zz���������������PPPihh��������򦤤��꼻�***vuu�����������������������򃂂������hgg�����������������򠟟��򂁁///������������������ihhihhihh������$$$������***ihhihhihh666��򈇇@@@������������������������{zz�����򊉉***������������������������\\\fee���PPPihh������������������ihhihhihh������������������==={zz���������������������KKKihhihhTSS������������������322������������wvvfee�����������������򈇇***������������������}||FEE���������������KKKihhihhTSS��������������򠟟������NNNlkk�����������������򱰰���������������FEEYXX��򋊊ihhihhihh��������͉��onn___������������������aaaNNN��򉈈***��������������������������������������ߖ��rqqcbb666�����������������򈇇***�����򋊊ihhihhihh������������������$$$fee���������������������������������������������������ppp��������ߖ��rqqcbb666��򐏏***������������������KKKihhihhTSS���������������}||FEE���������������������������GFF�����򠟟��������ߖ��rqqcbb666���PPPihh������������������ihhihhihh�����������������������������������򈇇***���������������������onnIII��򍌌***��򾽽������������������{zz===���������������������\\\fee��򼻻***vuu������������NNNlkk�����򐏏***��������������ҿ����������������������򈇇***�����������������������������������������������򖕕��튉�***���������������������nnn���YXX������������UTThgg���������$$$�����򾽽���������������������///������NNN������������aaatss��򐏏$$$���������feeYXX��������������������������򱰰��������������򊉉***������������������NNNUTT���������������������������wvv���������������UTThgg���������$$$������������������ihhNNN���***ihhihhihh666��򠟟��򋊊ihhihhihh������$$$fee������������������������������������������������������������������onnIII��򈇇@@@���������������������������999999������$$$NNN�����򐏏$$$���������feeYXX���FEEnnn��������򢡡������KKKihhihhTSS������������ihhihhihh������NNNUTT�����������������������������������������������򊉉***������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===TSS������pppUTT��򷵵���������wvv999��򮭭�����򓑑$$$���322���������===yxx��򐏏���������utt///��������������򷵵���������wvv999���������������$$$�����������ڡ��������������322���������===yxx���}||///���������ihh===���}||***��������򈇇������@@@edd���������322zyy���===cbb���������$$$NNN������������UTT666���������������666nmm���������///NNN�����������������������������������������������������������������������ֈZZи��^^˲��^^˱��^^̲��^^̲��__˱��^^e[�e[�f\�e[�e[�e[�f\�pe�cY�������������������==={zz���������������}||///���������ihh===���utt///���������������������������������������FEE{zz������������������ppp666��򫪪��������򝜜������CBBnmm���������������$$$������322���������===yxx���666fee���������������������������{zz===���������WVV��ڵ����������򢡡������������\\\fee���}||***��������򈇇������CBBnmm���������������������������==={zz�����������������������������򯮮�����������������������������������򓑑�����������������򈇇***���������|{{������nmm�����������������������򯮮���������������ppp666������NNNlkk�����������������򱰰YXX��򷵵���������wvv999������������������������===cbb���������$$$NNN��򱰰��������򖕕������������������������������������WVV\\\�����������������򈇇***�����򷵵���������wvv999��������������򭬬������������������������������������������������������������WVV\\\��򐏏��������������������������򯮮������|{{������nmm�����������������������������������䢡�tss��򠟟������������������WVV\\\���}||***��������򈇇������CBBnmm��������������������������������������������򈇇***���������@@@edd���������322zyy���999{zz������������������������{zz===���������������///yxx���\\\fee���utt///������������������NNNlkk�����򐏏������������������������������cbb�����򈇇***�����������������������������������������������򦤤��⵳���������򢡡��℃�FEE��򪩩666������������UTT666��������������򾽽���������������������������������322CBB\\\��򖕕///��򐏏���������322utt��������������������������򱰰��������������򵳳��������򢡡���������������������������������������kjjUTT��򷵵���������UTT666���������������666nmm���������///NNN���322���������===yxx��򠟟��򷵵���������wvv999��򭬬������������������������������������������������������������@@@edd���������322zyy���666fee�����������������������������򣡡��������������򐏏���������322utt���tss322���������cbb��������������򯮮������������CBBnmm��������������������������������������������������������������������򵳳��������򢡡������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������򍌌������@@@999������������]]]TSS���������������YXX���cbb�����򐏏999�����ơ��������@@@@@@������@@@999������������������������WVV[ZZ���������������������������YXX���cbb���������TSS���yxx���������RQQ���utt�����򦤤utt���WVV�����򞝝utt���NNNNNN������������UTTfee���PPP�����򕓓{zz���RQQNNN�����������������������������������������������������������������������֌__�uuз��iiз��iiз��iiз��jjѸ��jj�iioe�oe�pe�oe�pe�oe�oe�{q�h^�������������������==={zz������������������TSS���yxx�����򡠠������@@@@@@���������������������KKK{zz���������������$$$���������������///999�����������򬫫{zz���@@@322������$$$���������YXX���cbb������hgg///������|{{���������������{zz===������������������===322������ihh������������\\\fee������RQQ���utt�����򬫫{zz���@@@322������������������==={zz�����������򵳳������utt������cbb������������999///������onn������***UTT���������������aaa���������������aaa���NNN������utt������cbb������$$$�����������򵳳666NNN�����������������򱰰���������������aaaYXX������@@@999���������������cbb���ihh�����򞝝utt���NNNNNN������322322������������������������������322@@@������������������������aaa���������@@@999������������������������{zz���edd��������������������������������������������𘗗������322@@@�����������򐏏999���������������utt������cbb������������aaa���NNN������������������������������___322��򠟟������322@@@���������������RQQ���utt�����򬫫{zz���@@@322�����������������������������������򈇇***��������򦤤utt���WVV���������������nmmFEE���������������{zz===���������������������\\\fee��򡠠������@@@@@@��򵳳666NNN�����␏�999���������������ppp������666///������aaa������������������������������������������������~~***������===322������ihh���FEE}||������������YXXkjj���UTTfee���PPP�����ֈ�����������onn������666999��淵�������wvv�����������֐��FEE���ppp�����������������������������򱰰������������������===322������ihh������***TSS��������������������������򽼼���kjj\\\���������UTTfee���PPP�����򕓓{zz���RQQNNN������YXX���cbb�����򠟟������@@@999���������������{zz���edd�����������������������������������������������򦤤utt���WVV������hgg///������|{{�����������������������������������򐏏FEE���ppp���������YXX���rqq������utt������cbb�����������򬫫{zz���@@@322������***TSS���������������������������������������������������===322������ihh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������򬫫���������ihh$$$@@@���������666������������RQQ�����򿾾YXXRQQ��������򞝝NNN���$$$���������322TSS������������ihh$$$@@@��������������������򄃃���������������rqq��������򿾾YXXRQQ�����������򾽽WVVGFF�����������򿾾YXX===�����������򞝝GFFWVV�����������򎍍999rqqnnnNNN������///������onn|{{onn$$$***�����������򋊊999tss���hgg�����������������������������������������������������������������������֎bb��ttԽ��ttԽ��ttԽ��ttԽ��ttԼ��ss���������������������������������������������==={zz�����������������򾽽WVVGFF���������������322TSS�����������������������򢡡$$$���999������������///���@@@TSS������������\\\===���///��������򠟟GFFaaa���������$$$��������򿾾YXXRQQ������������fee$$$$$$onn������������������{zz===���������������������hgg$$$666{zz���������������tss|{{�����򿾾YXX===�����������򠟟GFFaaa���������������������==={zz������������aaa���������~~322///tss���������///���@@@\\\������������onn***$$$[ZZ���������///���666GFFyxx///������666���KKK[ZZ���fee666������������~~322///tss���������///���@@@TSS������FEE///��������������򱰰���������������aaaYXX���������ihh$$$@@@�����������򳱱@@@999�����������򎍍999rqqnnnNNN���������]]]@@@���///������322������������///���������TSS///wvv���������///���666GFFyxx///���������ihh$$$@@@������������///���666GFF��򭬬===@@@�����������������������������������������������򚙙���������TSS///wvv�����򞝝NNN���$$$���������������~~322///tss���������666���KKK[ZZ���fee666���������������������������������fee///��򠟟���������TSS///wvv��������򿾾YXX===�����������򠟟GFFaaa��������������������������������������򈇇***�����������򞝝GFFWVV�����򖕕@@@��������򸶶322���������������{zz===�����������򖕕������tss|{{���������322TSS������FEE///��ƞ��NNN���$$$������///���������~~666$$$\\\������yxx///���������������������������������������������322___���������hgg$$$666{zz������322���������UTTutt�����򛚚NNN���onn|{{onn$$$***�����򨧧$$$***ihh������|{{666$$$fee�����򔒒UTT�����򸶶///���������666������NNN���///ppp�����������������������������򱰰���������������������hgg$$$666{zz������������NNN322���������������������������***���������������onn|{{onn$$$***�����������򋊊999tss���hgg�����򿾾YXXRQQ��������򠟟���������ihh$$$@@@�����������򭬬===@@@�����������������������������������������������������򞝝GFFWVV������������fee$$$$$$onn������������������������ihhcbbTSSyxx��������򞝝NNN���///ppp��������򯮮KKKUTT���322���������~~322///tss�����������������򠟟GFFaaa������������NNN322���������������������FEETSS�����������򾽽@@@���������hgg$$$666{zz���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===kjj�����ѭ��===***���������������������������������������������������������������������������������������������������������������������������������������������������322===���������}||���������������������������������������������������������������������������������������������������������������������uttNNN�����������������������������������������������������������������������������������������������������������������������������������֐ee�������~~����~~����~~����~~����~~�~~�{ń{Ą{ăzĄ{ń{Ą{ď��od�������������������==={zz������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$���������������������������������������������������������������{zz�����ұ��TSS���������������������������������������������������������������������������������������������������������===ihh�����˩��\\\�����������������������������������������������������������������������������������������������򈇇***���������������������������������������������������������������������������������������������NNNlkk�����������������򱰰���������������aaaYXX������������������������������������������������������������������uttNNN��������������������������������������������������������������������������������������������򈇇***�����������������������������������������������������������������������������������������������������������򚙙�����������������������������������������������������������������������������������������������������������������������������������ȕ��}||��򠟟���������������������������������������������������������������������������������������������������������utt$$$������������������������������������������������������������������{zz322�����ϳ��|{{������������������������������������������NNNlkk��������������������������������������������������������򈇇***�����������������������������������������Š��999///��������������������������������������������������������������������������������������򾽽��������������������������������������������������������������������������������������������������������������򱰰��������������������������������������������������������������������������������򃂂�����������������������������������������������������������������������������������򠟟�����������������������������������������������������������������������������������������������������������������������������������������������������������򻹹�����������������������������������������������������������������������������������������������������������������������������������������������������򳱱nnn�����㵳�///TSS������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===$$$aaa���������������������������������������������������������������������������������������������������������������������������������������������������������aaa999������������������������������������������������������������������������������������������������������������������������uttNNN��򱰰��������������������������������������������������������������������������������������������������������������������������֕ii��ͬ����Ǭ����ǫ����ǫ����Ǭ����Ƭ����nj�ȋ�nj�Nj�nj�ȋ�Ǘ��qg�������������������==={zz���������������������������������������������������������������������������������fee���������������������������������������������������������������������������������������$$$���������������������������������������������������������������{zzYXX���������������������������������������===FEE���������������������������������������������������������������======vuu�����������������������������������������������������������������������������������������������������ɨ����������������������������������������������������������������������������������������������򳱱��������������������򱰰���������������aaaYXX������������������������������������������������������������������uttNNN�����������������������������������������������������������������������������������������������ɨ�������������������������������������������������������������������������������������������������������������򚙙���������������������������������������������������������������������������������������������������������������������������999��������򠟟������������������������������������������������������������������������������������������������___���������������������������������������������������������{zz///ihh������������===FEE��������������������������򳱱�����������������������򱰰��������������������������������ɨ�����������������������������������NNN�����������������������������������������������������������������������������������������������ݞ����������������������������������������������������������������������������������������������������������������򱰰������������������������������������������������������������������������������������WVV�����������������������������������������������������������������������������������򠟟�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵FEEutt��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾��������኉���������������������������������������������������������������������������������������������������������������������������֖ll�����˱����˱����ʱ����˱����˱�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򣡡�����������������������������������������������������������������������������������������������������������������䘗������򮭭��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������䘗���������������������������������������������������������������������������������������������������������Ϟ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򮭭�����������������������������������������������������������኉���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ϟ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������䘗���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٙnn��Ӿ����ӽ����ӽ����ҽ����Ӿ����ӽ����Ԧ�Ӧ�Ӧ�Ӧ�Ԧ�Ӧ�Ԧ��xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nn�oo�oo�oo�oo�oo�oo�oo�oo�oo�oo�oo�oovl�uk�ul�ul�ul�ul�ul�ul�uk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ޕ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEEGFF������������666������������YXX///������������YXX///��������򾽽666���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\]]]���������666���������{zzRQQ***������onnKKK��򦤤������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������///666�����Գ��///999������������RQQ������TSS***������fee������TSS***������fee������$$$KKK�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򉈈***���������ihhRQQ������onn��Ƈ��]]]��򜛛������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������666�����������򬫫��������������������������������������������������������������쪩���������򤢢�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵��������򖕕��񾽽���������ihh***���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{zz������������������666|{{���ppp���������ihh��ϻ��ppp���������ihh��σ��///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵������������RQQfee�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ϕ��===WVV������������������322������KKKihhihhTSS������KKKihhihhTSS������***���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***������������������������������������GFFnnn��򃂂///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������III999��������������������������������������򯮮��������������򯮮��Ɒ���������򕓓���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]]322���������������UTTfee���������***������{zz999��򲰰���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������NNN���������������������������999///������utt������cbb������utt������cbb������322322��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򍌌RQQ���\\\�����򃂂322���������aaa[ZZ��򩨨�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٵ��������///���@@@\\\������������~~322///tss������������~~322///tss������������]]]===�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾322���999$$$��������򷵵322��������򚙙KKK������������***���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������GFFFEE���������@@@III���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaWVV���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PPPUTT������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVVaaa��򓑑�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������阗������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������י����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Γ��|{{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򲰰999YXX$$$�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򝜜������������$$$vuu������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz������������������������{zz���������uttIII___TSS�����򗖖$$$322���������������WVVnmm���������***�����������я��|{{���qppNNN���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\]]]���������666���������{zzRQQ***������onnKKK��򦤤������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������򍌌�����̐�������������Ή��RQQ��򼻻rqq��ŕ��������������UTTnmm���������***���������$$$NNN666NNN��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򉈈***���������ihhRQQ������onn��Ƈ��]]]��򜛛������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������������666~~��������������䬫����������NNNRQQ���rqq999���������lkk������������UTTnmm���������***������III@@@���������NNN��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵��������򖕕��񾽽���������ihh***������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������������322���������hgg������$$$$$$nnn���CBB���GFFonn��������򞝝������������UTTnmm���������***������������������\\\NNN��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵������������RQQfee���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===YXX���������������������ihhihhihh��������ߖ��rqqcbb666���NNNihh��������򙘘������������UTThgg���������$$$������������������ihhNNN������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***������������������������������������GFFnnn��򃂂///���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===������CBBnmm���������������������������WVV\\\���{zz///���������YXX������������UTT666���������������666nmm���������///NNN������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]]322���������������UTTfee���������***������{zz999��򲰰���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy��������������������򬫫{zz���@@@322������322@@@���������������TSS���onn������������UTTfee���PPP�����򕓓{zz���RQQNNN�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򍌌RQQ���\\\�����򃂂322���������aaa[ZZ��򩨨���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������������򠟟GFFaaa������������TSS///wvv��������򲰰KKKUTT���������===������onn|{{onn$$$***�����������򋊊999tss���hgg�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾322���999$$$��������򷵵322��������򚙙KKK������������***���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������������������������������������������������򬫫���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaWVV������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������������������������������������������������򬫫������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVVaaa��򓑑��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ԙ�������񑐐�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������י����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ȃ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������___���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cbbCBB��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򐏏���������������wvv$$$���fee]]]�����򠟟��򖕕$$$���������///�����򛚚///lkk***�����򾽽666������������{zz�����������������򐏏���������������wvv$$$������FEERQQ��������򩨨322utt���������$$$|{{������WVVnmm��������򤢢***{zz���������\\\322������������{zz���������������������������������������������������������������������������������������������������������������\\\]]]���������666���������{zzRQQ***������onnKKK��򦤤���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$����fee\\\������322PPP�����򖕕$$$������rqq$$$���������YXX��ç��***������$$$KKK�����������򍌌�����̐�����������������������������������$$$����***GFF������***\\\������nmm��ƞ��������===666������322������UTTnmm���������]]]��˨��������YXX������RQQ$$$���������$$$��������������������������������������������������������������������������������������������������������������򉈈***���������ihhRQQ������onn��Ƈ��]]]��򜛛������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQKKK��������䮭�������fee\\\��������������򖕕$$$������NNNedd������������������tss***��򪩩��������򤢢������666~~������������������������������RQQKKK��������䮭���α�������������ƕ�����zyy666��������򯮮��������������򫪪������UTTnmm�����������������򉈈�����������������ߐ�������򻺺���///�����������������������������������������������������������������������������������������������������������򷵵��������򖕕��񾽽���������ihh***�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򥣣������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򓑑***��򃂂///������������������322���������hgg�����������������򥣣��򅄄///������������������IIInmm������������������������������������UTTnmm���������TSSaaa���===��򼻻���������������������nmm[ZZ��������������������������������������������������������������������������������������������������������������������������������������������򷵵������������RQQfee������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvv���������������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򕓓***��򉈈***������������������ihhihhihh���������������������wvv�����������򉈈***������������������PPPihh������������������������������������UTTlkk���������������wvvfee��򿾾���������������������������KKKvuu������������������������������������������������������������������������������������������������������������***������������������������������������GFFnnn��򃂂///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kjjUTT��򷵵���������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򕓓***��򱰰��������򕓓������CBBnmm������������������������������kjjUTT��򷵵�����򵳳��������򬫫kjj���}||***��������򈇇������������������������UTT999��������������������򓑑������������������cbb��֮�������򖕕$$$������������������������������������������������������������������������������������������������������������]]]322���������������UTTfee���������***������{zz999��򲰰�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򽼼���kjj\\\���������fee\\\��筬�utt�����򖕕$$$��򵳳666NNN�����⸶���������򕓓***������322322�����������򬫫{zz���@@@322��������������������򽼼���kjj\\\���������===322������nmm������RQQ���utt������������������������UTTYXX������onn������***UTT������ppp������666///���]]]PPP��������������������������������������������������������������������������������������������������������������������򍌌RQQ���\\\�����򃂂322���������aaa[ZZ��򩨨���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***���������������fee\\\���///322��򤢢GFF���FEE///��ƿ��///��������򢡡III���������]]]===�����������򠟟GFFaaa���������������������������***������������������ihh$$$///vuu��������򿾾YXX===���������322������������///������onn{zzbaa������onn***$$$[ZZ������������~~666$$$\\\������666������������UTT�����������������������������������������������������������������������������������������������������������򿾾322���999$$$��������򷵵322��������򚙙KKK������������***��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򃂂������������fee\\\���������������������������NNNlkk�����������������������������������������������������������������������������������������������򃂂������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaWVV���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVV������������fee\\\�����򞝝���������{zz�����򳱱������������������������������������������������������������������������������������������������������WVV������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVVaaa��򓑑��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򺸸�����������������������ɕ�������������������������������������������������������������阗���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������י����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򐏏���������������wvv$$$���fee]]]�����򠟟��򖕕$$$���������///�����򛚚///lkk***�����򾽽666������������{zz������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\]]]���������666���������{zzRQQ***������onnKKK��򦤤���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$����fee\\\������322PPP�����򖕕$$$������rqq$$$���������YXX��ç��***������$$$KKK�����������򍌌�����̐����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򉈈***���������ihhRQQ������onn��Ƈ��]]]��򜛛������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQKKK��������䮭�������fee\\\��������������򖕕$$$������NNNedd������������������tss***��򪩩��������򤢢������666~~��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵��������򖕕��񾽽���������ihh***�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򥣣������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򓑑***��򃂂///������������������322���������hgg��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵������������RQQfee������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvv���������������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򕓓***��򉈈***������������������ihhihhihh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***������������������������������������GFFnnn��򃂂///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kjjUTT��򷵵���������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򕓓***��򱰰��������򕓓������CBBnmm���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]]322���������������UTTfee���������***������{zz999��򲰰�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򽼼���kjj\\\���������fee\\\��筬�utt�����򖕕$$$��򵳳666NNN�����⸶���������򕓓***������322322�����������򬫫{zz���@@@322�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򍌌RQQ���\\\�����򃂂322���������aaa[ZZ��򩨨���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***���������������fee\\\���///322��򤢢GFF���FEE///��ƿ��///��������򢡡III���������]]]===�����������򠟟GFFaaa��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾322���999$$$��������򷵵322��������򚙙KKK������������***��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򃂂������������fee\\\���������������������������NNNlkk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaWVV���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVV������������fee\\\�����򞝝���������{zz�����򳱱������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVVaaa��򓑑��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򺸸�����������������������ɕ�������������������������������������������������������������阗���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������י����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ȃ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ϣ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򫪪������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������___���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEE��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򧦦322������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cbbCBB��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򰯯������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򐏏���������������wvv$$$������FEERQQ��������򩨨322utt���������FEE|{{������WVVnmm��������򤢢***{zz���������\\\322������������{zz������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uttIII___TSS��򠟟���CBB������������[ZZCBB������������$$$|{{���������FEE������������������������@@@{zz��������򳱱///��������������������򑐐///������������������nmmWVV���������CBBIII��������򠟟������{zz���������WVVnmm��������򽼼///KKK���������������������hgg\\\���������}||$$$322���������WVVnmm���������������������������TSS������������___utt���������������������������������YXX///������������CBBIII������������///������rqqPPP������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$����***GFF������***\\\������nmm��ƞ��������{zz������YXX������UTTnmm���������]]]��˨��������YXX������RQQ$$$���������$$$�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ή��RQQ��򠟟666������666999������UTT$$$������PPP$$$������===666������322�����򪩩���������������������������===zyy���������aaa��͕�������������������򐏏///������������������nmmUTT������$$$PPP������@@@CBB������322PPP�����򍌌�����̐��������UTTnmm���������$$$RQQ������@@@YXX��������������������������򏎎������vuu������UTTnmm��������������������򕓓�����ѹ��///@@@������[ZZ***�����Ң��|{{���������������������������TSS***������fee������$$$PPP������@@@CBB������rqq$$$��������򢡡���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQKKK��������䮭���α�������������ƕ�����zyy666��������򯮮������PPPUTT���������������UTTnmm�����������������򉈈�����������������ߐ�������򻺺���///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򬫫���������NNNRQQ��򠟟��������������������������������������������򫪪�����򈇇$$$���������������������������===zyy�����򈇇���������WVV===��������������򐏏///������������������nmmUTT��򭬬������������������������������666~~������������������UTTnmm���������������������]]]322���������������������������999utt���������@@@qpp���UTTnmm���������������������aaa~~��������򮭭������322������������vuu///��������������������������������������������쭬����������������������NNNedd��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򥣣��򅄄///������������������IIInmm������������������FEE|{{���������������UTTnmm���������TSSaaa���===��򼻻���������������������nmm[ZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$$$$nnn���CBB��򠟟������������������������������666���������������������򈇇***���������������������������===zyy������cbb[ZZ��������򣡡��������������򐏏///������������������nmmUTT��򃂂���������nmm����������������322���������hgg������UTTnmm�����������򽼼qpp***������������������������������������������tssCBB���UTTnmm�����������������������������������򋊊���������������������RQQIII�����������������������򻹹ppp���������ihh��σ�����������nmm�������NNNlkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvv�����������򉈈***������������������PPPihh������������������FEE|{{���������������UTTlkk���������������wvvfee��򿾾���������������������������KKKvuu��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߖ��rqqcbb666��򠟟������������������������������///�����������������������򈇇***���������������������������===zyy������@@@vuu��������򽼼��������������򐏏***������������������nmmUTT��򋊊ihhihhihh���������������ihhihhihh������UTTlkk��������򈇇@@@������������������������������������������������onnIII���UTTlkk�����������������������������ѽ�����vuu��������������Ƴ��ppp������������������������������KKKihhihhTSS������ihhihhihh������NNNlkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kjjUTT��򷵵�����򵳳��������򬫫kjj���}||***��������򈇇������FEE|{{���������������UTT999��������������������򓑑������������������cbb��֮�������򖕕$$$������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVV\\\��򠟟��������򲰰�����������������������������������������򈇇***���������������������������===zyy������///�����������������������������򐏏������������������YXX\\\��򷵵���������wvv999���������������CBBnmm���������������UTT999���������666fee���������������������������������������@@@edd���������322zyy���UTT999���������������������������___�����������������������������������������������������������򯮮��ⷵ����������wvv999������NNNlkk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򽼼���kjj\\\���������===322������nmm������RQQ���utt������FEE|{{���������������UTTYXX������onn������***UTT������ppp������666///���]]]PPP���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322@@@�����������򠟟$$$������$$$PPP������onn������666999������������������������aaa���������������������������===zyy������TSShgg��������򯮮��������������򐏏NNN���UTT$$$���������������@@@999�����������筬�utt�����򬫫{zz���@@@322������UTTYXX������hgg///������|{{��������������������������򦤤utt���WVV������UTTYXX�����������������������������籰���������������������ᎍ������������������Ӌ�����������utt������cbb������@@@999�����������򵳳666NNN��������򰯯���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***������������������ihh$$$///vuu��������򿾾YXX===���������___������������999������onn{zzbaa������onn***$$$[ZZ������������~~666$$$\\\������666������������UTT���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TSS///wvv�����򠟟���322$$$hgg������������|{{666$$$fee���������322������������///���yxx///��������������򝜜������===zyy������wvv999��������򂁁$$$��������������򞝝NNN���******������322]]]������������ihh$$$@@@���������///322�����򠟟GFFaaa���������onn{zzbaa������fee$$$$$$onn���������������������UTTonn��������򞝝GFFWVV���������onn{zzbaa��������������򿾾������������ppp@@@�����򫪪������������322|{{�����������򢡡$$$***___������~~322///tss������������ihh$$$@@@���������FEE///�����򄃃===��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򃂂�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򠟟��������������������������������������������������������������������򈇇***���������������������***===$$$zyy��������������⹷���������������������������������������������������������������������������������������������������������������������������������������������������������������������򣡡��������������������������������������������������������򧦦���������999]]]������ppp666�����缻�������������������������������������������������������������������������������NNNlkk���������322���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVV�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򠟟�����������������������������������������������������������������������ɨ��������������������������{zz{zz��������򭬬///{zz��������������������������������������������������������������������������������򞝝���������������������������������������������������������������������������������������@@@�����������������������������������������������������������񔒒UTT������������nmmzyy���������������������******yxx��������������������������������������������������򳱱��������򦤤///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ϟ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ѧ����������������������������������������������������������������������������������������������������������������������������ڜ�������������������������������������������������������������������򯮮�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᚙ�|{{���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$$$$\\\***�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򼻻{zz���������\\\999������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===�����򧦦322zyy�����򑐐///���������kjjYXX��������ࠟ�yxx���������������������pppPPP������FEE|{{���������nmmRQQhggPPP�����򥣣322lkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@@@{zz���������[ZZaaa���������������|{{������������������������������___utt���������lkk322���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===\\\������������������tss��Ŝ�������򐏏///���������ihhYXX������322PPP$$$666���������������zyy������{zz������YXX�����򇆆������lkkNNN��򿾾wvv��ɭ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy������FEE$$$�����Ϧ��TSS������322������|{{������������������������������������������[ZZ***�����Ң��|{{������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������wvv999���������{zz322��򐏏///���������ihhYXX��򄃃���������666�����������򾽽���������PPPUTT���������������322utt���������322NNN���uttCBB������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy�����������������򗖖������������������baa$$$���������������************$$$$$$������322������������vuu///���������lkk322������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������IIInnn��������򫪪��琏�///���������ihhYXX���UTTbaa��������򕔔�����������򾽽���������FEE|{{���������������������������feeNNN���***���������hgg�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������얕����������������������������������������===zyy�����������������򏎎���������������������KKK///������������GFF������|{{������������������������RQQIII������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������PPPihh��������򦤤��ꐏ�$$$���������feeYXX���FEEnnn��������򢡡�����������򾽽���������FEE|{{���������������������������aaaNNN���***ihhihhihh666���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������************tss���������������������������===zyy������nmm���������{zz������������������������666FEE��������򙘘��������������������������Ƴ��ppp���������������nnn322���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������}||///���������ihh===��򐏏���������322utt���tss322���������cbb�����������򾽽���������FEE|{{���������������===cbb���������$$$NNN���322���������===yxx���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy���������ihhnmm������������������������������nnn���������999kjj�����������������������������������������������������򸶶hgg}||������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz������������������TSS���yxx�����򐏏FEE���ppp���������YXX���rqq�����������ֈ�����������FEE|{{��������������򞝝utt���NNNNNN������YXX���cbb������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy�����򨧧�����͗�������������������������������򦤤��������򾽽��������������������������ᎍ�������������������qpp322���������uttGFF@@@���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������򾽽WVVGFF��������򞝝NNN���///ppp��������򯮮KKKUTT���322������===������$$$***ihh���___������������999��������򎍍999rqqnnnNNN�����򿾾YXXRQQ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qpp�����������򝜜������===zyy������RQQcbb���������UTTaaa���������������utt������������������������fee999�����������򫪪������������322|{{�����������������������򉈈UTT���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������������������������������������������������������������������򾽽������������������������������������������������uttNNN��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򢡡TSS���������***===$$$zyy������ppp***���������$$$~~���������������RQQKKK�����ꋊ����������������322FEE���������ppp666�����缻����������������������]]]322��񱰰$$$������$$$���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������������������������������������������������������������������ݞ��������������������������������������������������uttNNN���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������UTT������������{zz{zz���������lkkrqq���������������������NNN���������������������������������nmmzyy������cbb�����򪩩]]]tss�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񑐐�����������������������������������������������������������򿾾������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===������NNNtss322���������pppPPP���]]]fee�����򠟟������lkkNNNPPPkjj�����򗖖$$$322������������YXX///���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������___utt������������������������������YXX322���������FEEYXX������������YXX��������򏎎������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===\\\��������������ߋ��������aaa���������zyy������\\\fee������322PPP�����򲰰�����ʄ��ihh��򼻻rqq��ŕ��������TSS***������fee���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ZZ***�����Ң��|{{���������������������������vuuTSS������PPP999������{zz������ihh$$$�����׋�����������������������������GFF������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������utt***��������������򾽽���������\\\fee��������������򊉉���������666ihh���rqq999���������lkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322������������vuu///���]]]************\\\�����������򾽽��������򑐐������===������������TSScbb������������������������������322NNN���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������򾽽===zyy��������򾽽���������\\\fee��������������򂁁@@@���������WVVihh���GFFonn��������򞝝��񻹹ppp���������ihh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQIII���\\\$$$���������edd��������������򜛛���������������������������������utt@@@��������򲰰���������������������$$$\\\������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������͉��onn___�����򾽽���������\\\fee��������������򂁁@@@���������YXXihh���NNNihh��������򙘘������KKKihhihhTSS�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƴ��ppp������������������������������������|{{999�����������������򄃃������������322ppp�����������򛚚���������������������wvv���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������������������������򾽽���������\\\fee��������������򂁁@@@���������YXXihh���{zz///���������YXX��������������򯮮���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tss322������������������������onnFEE������������������IIInnn���FEE������������������zyy�����������������򰯯�����������񚙙baa���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz������������������cbb���ihh�����ֈ�����������\\\fee��筬�utt�����򂁁@@@���������YXXihh������TSS���onn������utt������cbb��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᎍ������������������������������������򎍍$$$������������������aaahggaaa///aaa������������������������666fee������������������onn***�����򕓓�***}||���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������򳱱@@@999�����򨧧$$$***ihh���tss|{{���///322��򓑑\\\���������ppp~~�����򲰰KKKUTT������������~~322///tss�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򫪪������������322|{{��������򠟟��������������������򯮮��������򹷷������wvvihh�����������������򵳳������������vuu322������qpp��������򮭭������NNN�����򦤤322���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������򾽽��������������������������������������������������������������������򬫫���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ppp666�����缻����������������cbb@@@���������������������322YXX������666TSS�����򌋋GFF������������������������������322cbb������zyy������[ZZ$$$������zyyIII���YXXaaa���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������������������������������ݞ�����������===FEE�����򞝝�����������������������������������������������򬫫������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nmmzyy������������������322������������������������FEEYXX��������򢡡��������򠟟PPP������������//////�����������펍�YXX��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򮭭��������������������������������������������������������������ԙ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEEUTT===utt������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yxx��������򕓓��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾FEEonn���������NNNtss322��������򁀀$$$���������$$$���������������������{zz������������������UTTKKK���������������999fee�����꯮�{zz���������������YXX///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򊉉***�����������򧦦***///������������������������������������������666$$$�����������������������򳱱///���������������___utt������YXX322������������������UTTkjj���������������������������aaa@@@���������������������������������������������aaa@@@��������򤢢���������������������aaa@@@�����������򳱱///���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEE�����ϙ��\\\��򋊊������aaa�����򕓓������yxx������$$$�����������������򍌌�����̐����������������򧦦���������������������baaGFF322666������TSS***������fee�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򾽽������ihh�����򸶶lkk������baa��������搏�������������������������***FEE������aaa��������Ҕ�����������aaa��͕�����������[ZZ***�����Ң��|{{���vuuTSS������������������UTTkjj�����������������������򉈈������CBBCBB��������������������������������������򉈈������CBBCBB���������///nmm��������������򉈈������CBBCBB���������aaa��͕�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\$$$�����������򢡡���utt***���������������===ppp��������𗖖������$$$������������������666~~������������������������������������������vuu$$$������������ihh���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������NNNGFF���������$$$zyy���rqq///���������������򱰰������������������������///������������������{zz�����򈇇���������WVV===������322������������vuu///�����������򓑑***************��������������������������������������������������������������������������������������������򤢢��������������������������������򈇇���������WVV===������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$�����������������������񾽽===zyy������������������������������$$$������������������322���������hgg������������������YXXnnn��򏎎������������������ppp���������ihh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$������������kjjTSS���{zz$$$��������������������ꢡ����������������������������������������666|{{�����ڤ��������cbb[ZZ��������򣡡���������������������RQQIII�����������򖕕���������666CBB������������������������������������***�����������������򧦦������������������������������***������������322nmm������������������������***������cbb[ZZ��������򣡡�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������͉��onn___���������������������������$$$������������������ihhihhihh�����������������򿾾�����ʡ�������򂁁///������������������KKKihhihhTSS�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򆅅***������UTT������KKK������������������������������������nmm������������������������������@@@vuu��������򽼼��������������Ƴ��ppp������������������***~~������WVVkjj��������������������򲰰������������KKKlkk���������������UTT*********===��򲰰������������KKKlkk��������򧦦��������򲰰������������KKKlkk���@@@vuu��������򽼼���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@@@aaa���������kjj������$$$cbb�����򷵵������CBBnmm������������������������������///�����򁀀===�����򫪪��������򝜜��������������򯮮�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򑐐������������������������������������������������������***322������������������///�����������������������������������������������򫪪������WVVkjj��������������������򦤤������������WVV]]]��������������������������������򦤤������������WVV]]]������������666onn�����򦤤������������WVV]]]���///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cbb���ihh�����򧦦rqq���TSS������$$$����999�����򬫫{zz���@@@322��������������������򆅅===���***������������///999������������utt������cbb������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvvCBB������666RQQ������GFF===���������������������������������������KKK322ppp���������������������TSShgg��������򯮮�����������������ᎍ����������������������NNNRQQ���WVVkjj������������������������������������999�������������������������������������������������999������������򩨨���������������������999����TSShgg��������򯮮������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEETSS�����������򾽽@@@�����򳱱@@@999�����������򠟟IIIIII���������$$$���WVV@@@�����������򠟟GFFaaa���������������������������������������������\\\===���///���������~~322///tss���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������999tss���������GFFhgg���������������������������������qpp���������������999��������������������򜛛$$$������wvv999��������򂁁$$$�����򫪪������������322|{{������������������������WVVkjj������qpp������������������������������������������������������������������������������������������������999nnn������������������������wvv999��������򂁁$$$�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򳱱nnn�����㵳�///TSS���������������������������������������������������$$$���������������������������������������������������������������GFFYXX�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򘗗�����䑐�������������������utt���������aaa�����򢡡TSS���������RQQ{zz�����������������򵳳baa��������������⹷����������ppp666�����缻������������������������򜛛322kjj�����򢡡TSS���������___***������cbb$$$���������������������������������������___***������cbb$$$�����������������ю��������___***������cbb$$$��������������⹷������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵FEEutt������������������������������������������������������$$$��������������������������������������������������������������򞝝�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򃂂***�����������򸶶///666���������������������������UTT���������ihh��������������������򭬬///{zz������������nmmzyy���������������������������cbbkjj������������UTT������������___@@@���������������������������������������������___@@@�����򝜜���������___@@@�����������򭬬///{zz�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򣡡������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk[[[[[[[[[~~~���������������]]][[[]]]�����������􁁁[[[[[[ppp������������������������ggg[[[]]]���������������rrr[[[[[[zzz���������ddd[[[[[[���[[[���������rrr[[[������]]]������������```[[[ggg���������~~~������������bbb���������������������[[[[[[[[[ddd������������������]]][[[bbb���[[[���������ddd[[[������xxx[[[[[[���ggg������������������ggg������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff������������xxxffffff���fff���������fff���������hhh������������������������������hhh������������ffffffyyy������������vvv���������ffffff~~~{{{������������jjjfffhhh������������ffffffhhh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[mmm�����⺺�]]]kkk���������[[[�����߫��[[[������}}}```������yyy```������������������[[[�����ٵ��[[[���������bbbsss������bbb������zzzggg������iii[[[���������[[[���������]]]���������[[[�����ٖ��[[[������}}}������������bbb���������������������ddd�����ɧ��rrr[[[���������[[[���������]]][[[���������```���������[[[�����܆��[[[���������������������{{{������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff������������jjj�����恁�fff���������fff���������fffjjj������������������������fffjjj���������fff���������fff���������uuu������fff�����켼�fff���������fff���������fff������hhh���������fff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```���������������[[[������iii���������������������[[[������������[[[������������������kkk������������ggg������[[[�����������ڮ�����iii������������[[[���������```���������]]]������kkk������������nnn������}}}������������bbb���������������������mmm������������zzz[[[������[[[������������[[[������xxx������������bbb���������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff������������sss���������fff������ooo���uuu���������fff������������������������������������fff���������������������uuu������fff���������vvv������������������������������������������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������������```������[[[ggg������������������[[[������������iii���������������ttt���������������[[[������ddd���������������������[[[yyy������[[[���������bbb���������]]]������[[[���������������ppp���}}}������������bbb���������������������mmm���������������[[[������{{{]]]������mmm[[[������xxx������������[[[mmm������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff������������sssfffsssmmmfff������fff���hhh���xxx��΅�����������������������uuu������fff���������fffjjjxxxfff���������uuu������hhh������������������ffffffvvvvvvvvvfff��������؈��ffffff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������``````[[[������[[[[[[���������[[[������[[[������������ddd���������������yyy���������������[[[������bbb�����������������������Ξ�����nnn[[[���������bbb���������]]]������[[[���������������ttt���}}}������������```���������������������mmm���������������]]]������������������[[[[[[������xxx��������������দ�������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff��������������������ٺ��fff��丸�xxx���������fff���������������������������fff������ooo������������������fff���������uuu������hhh������������������~~~uuu���������fff������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������ٹ��������������ppp������������[[[������[[[������������[[[������������������ddd������������mmm������[[[�������������������������������[[[���������bbb���������]]]������nnn������������ggg������}}}iii���������[[[���������������������mmm���������������ddd���������������������]]]������xxx������������������������]]]������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff�����������܄�����������fff���������������fff���������fff������������������~~~���������yyy���������������mmm���������uuu������hhh���������������������hhh���������fff������fff��������م��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������������������������[[[������nnnggg���������[[[������iiikkk������������������]]]{{{������[[[���������mmmggg������]]]���������[[[������ttt]]]�����ن��]]]���������]]]���������[[[������~~~[[[������}}}[[[������yyy[[[���������������������mmm���������������[[[���������]]]������bbb}}}������iiixxx���������[[[���������[[[������������������mmm[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff���fff���������fffhhhfff������fff���������fff���������fff���������������jjj������������fff������hhhffffffooo���������uuu������hhh������������������������fffffffff������������fffooofff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tttxxx���������������zzz������������sss]]]������������������iii```���������������������������~~~]]]sss��������������싋�```ddd���������������ggg]]]sss���������]]][[[ddd������mmm������������sss]]]~~~������������������```bbb������������������������mmm���������������[[[��������󐐐bbb```���������rrr[[[[[[ddd���������nnn]]]kkk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uuu���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������~~~```������������������������������������������������������������������������������������������������������������������������������������������bbb���������������������������������������������������������������������������������ggg��������ɜ��[[[���������������������������������xxx���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uuu������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxx[[[[[[[[[}}}���������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������������������������������������[[[[[[[[[ddd���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򻹹������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������IIIPPPFEE������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}||�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ɪ����������������������羾���������������������۬�������������������������ԯ����������������������ⱱ������������������㪪������������㪪������������羾������������������㪪���������罽���������羽���������������������ڪ�������������������������ͬ�������������������ʪ����������������媪���������尰���������Ҫ����������ۯ����������������羽������������⪪������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򾽽���������322���������{zz������������pppPPP�����򿾾FEEonn������������$$$|{{������������������WVVnmm������������{zz������������������������������pppPPP���==={zz��������������������򧦦322zyy���������onn������������������pppPPP���]]]fee�����򧦦322zyy�����򑐐///���������kjjYXX��������������������������������������������������������������������������������������������������������������ʪ�������������������������Ǫ����������Ǭ�������翿������������������������۪�������������Ȫ����������Ī�������ߵ����������㪪������������㪪������������Ǫ����������Ǭ�������㪪���������缼���������㪪���������������������۪����������������������ت����������̪�������䭭���������ت�������媪���������Ҫ����������Ҫ�������䬬���������֬�������羽������������⪪���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򚙙999CBB$$$$$$�����򍌌�����̐�����������zyy���������FEE�����ϙ��\\\������===666������322������������������UTTnmm��������򍌌�����̐�����������������������������zyy������==={zz���������������������tss��Ŝ�������򜛛�����ژ�����������������zyy������\\\fee������tss��Ŝ�������򐏏///���������ihhYXX�����������������������������������������������������������������������������������������������������������第���������������緷������糳���������������������繸���������������������繸������������������ƾ����纺������������ت�������㪪������������㪪���������糳���������������������㪪���������缼���������ު����������������������۪����������������������Į����������緷������������������Ǫ�������媪���������˪����������Ҫ�������֪�������������Ȭ����羽������������⪪����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rqq�����򡠠������666~~�����������������򾽽���������\\\$$$�����������򢡡��������������򫪪������������������UTTnmm���������666~~�����������������������������������򾽽���������==={zz������������������wvv999���������{zz322�����������������������������򾽽���������\\\fee���wvv999���������{zz322��򐏏///���������ihhYXX�����������������������������������������������������������������������������������������������������������ު����������������ȷ�������窪���������������������繸���������������������箮������������������������繸������������ݪ�������㪪������������㪪���������窪���������������������㪪���������缼���������ު����������������������۪�������������������繹������������翿���������հ����������������媪���������˪����������Ҫ�������̪�������������Ҫ����侽������������⪪����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322���������hgg�����򾽽���������$$$���������������������������������������������������������UTTnmm���������322���������hgg�����������������������򾽽���������***$$$������������������IIInnn��������򫪪��������ᕓ�RQQ///�����������򾽽���������\\\fee���IIInnn��������򫪪��琏�///���������ihhYXX�����������������������������������������������������������������������������������������������������������ժ����������紴������������紴������������ت�������繸���������������������窪������������������������繸������������ݪ�������㪪������������㪪���������紴������������ت�������㪪���������絵���������ު����������������������۪�������ʾ�������������Ĭ����������絵������第������������������媪���������˪����������Ҫ�������ت�������������Ƭ����羽������������٪�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򸶶������������***������ihhihhihh�����򾽽������������������������������������������������������������������UTTlkk���������ihhihhihh�����������������������򾽽���������$$$������PPPihh��������򦤤������$$$fee�����������������򾽽���������\\\fee���PPPihh��������򦤤��ꐏ�$$$���������feeYXX�����������������������������������������������������������������������������������������������������������ߪ����������������������������ͪ�������ֲ����������޵����������������������筭������������������������繸������������ݪ�������㪪������������㪪������������ͪ�������ֲ����������㪪���������̪����������Ӫ����������������������۪�������������ժ�������۪����������Ū�������篯���������˪�������媪���������ª����������Ҫ�������孭���������Ϫ�������羽���������ֶ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������CBBnmm��������������򾽽������������������������������������������������������utt���������UTT999���������CBBnmm���������������tss�����򧦦�����򾽽���������==={zz������322666���}||///���������ihh===��򭬬�����������������������򾽽���������\\\fee���}||///���������ihh===��򐏏���������322utt�����������������������������������������������������������������������������������������������������������第������������������ž����������Ǯ�������������繹������������������������緶������������������ƻ����羾������������ެ�������䬬������������䬬���������������Ǯ����������������䬬���­�������������ڬ�������������������������۪�������������ߪ����������Ա�������������������ٱ����������������嬬������ɪ�������������Ԭ����������޵�������������������·�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ZZ������322�����򬫫{zz���@@@322�����ֈ��������������������������������������������������������wvv������UTTYXX�����ڬ��{zz���@@@322������������322GFF�����ֈ�����������==={zz��������򘗗������TSS���yxx���������{zz���edd�����������ֈ�����������\\\fee������TSS���yxx�����򐏏FEE���ppp�����������������������������������������������������������������������������������������������������������������ê�������������Ѫ�������������������������������繸������������������������Ҫ�������������Ԫ����������������������������������������������������������������������������������������������������������ު����������������������۪����������຺���������������������������������������������������������������˪�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������onn$$$***���TSS��������򠟟GFFaaa�����򨧧$$$***ihh���FEETSS�����������򾽽@@@������322������������///������666���GFF���onn{zzbaa�����򠟟GFFaaa���������666���RQQ===�����򨧧$$$***ihh���==={zz��������򞝝�����򾽽WVVGFF�����������򭬬===@@@���������===������$$$***ihh���tss|{{�����򾽽WVVGFF��������򞝝NNN���///ppp�����������������������������������������������������������������������������������������������������������������緷������������������������������������������������ÿ�������������������������ª����������������������������������������������������������������������������������������������������������������������ర���������������������۪����������������������������������������������������������������ᯯ���������ѳ����������Ӱ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򾽽��������򳱱nnn�����㵳�///TSS�����������������������������������������������������������������������������������������������������������򾽽���������322WVV�����Ϣ��322@@@�����������������������������������������������������������򾽽�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᱱ���������������������Ա����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ݞ�������������򷵵FEEutt�����������������������������������������������������������������������������������������������������������������ݞ�����������***onn��������������������������������������������������������������ݞ�����������===FEE�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񑐐��������������������򮭭�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������с��������www���www�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򦥥���������������������������������������������������������������������������������������������������������������www���www������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}yyywww���������������������������������������������������{{{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򇇇��������ڡ�����������www��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򦥥��������������������������������������������������������������������������������������������������������������ڡ�����������www��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƪ�����������www�����������������������������������������������򢢢����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ȡ��&�u�u�u�u�u�u�u�u�u��&�ȡ�����������������������������������������򣡡������������///������������FEE���������FEERQQ�����򠟟���������{zzIII��������������򱰰������������������������[ZZCBB��������򖕕nmm������]]]fee�����򠟟��򖕕$$$���������CBBWVV��������������������������������������������򖕕nmm���������������s�?s�?���������������]q�<�������ys�?q�>>������>>>EEE���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrvvv���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������hhhjjj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������VVV!!! - - - """WWW���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������[[[zzz���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[���������������������������������������[[[[[[ddd���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[���������������������������������������[[[[[[ddd���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������[[[zzz�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������v��<��!��!��<��w������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������r������������������t���������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������P����������������������P������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������q����������������������������t������������������������������ccc333������������333���������CCC333333kjj������������===333���������LLL333���������������������������wvvCCC333333333gff���������HGG333333CCC��������ꑐ�333333333������������===RQQ���������ZZZ333333RQQ�����������ꃂ�===333333������333333CCC���333���������333333rqq���===UTT���������ZZZ333333RQQ���������333���������333���������������======���������������gff333��͔��333���������������������333`__���������������������fff333������������ihh333���������������rqq333333===���������333������������333���������UTT333���ihh333333333gff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������'��������'����������������������������������������ccc333������������333���������333LLL������333ZZZ���������333333���������333333����������������������CCC333ccc������RQQ333������333XXX���������������333fff���kjj333���������===RQQ������CCC333������===333������333`__������������333===������333333���������333HGG���������===UTT������CCC333������===333������333���������333���������������333���������������333UTT���333���������������������333`__���������������������333333lkk���������333333ihh���������ihh333����RQQ333������333������������333������333������rqq���������333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u��������������@��B��������������w���������������������������ccc333������������333������xww333���������tss333������333XXXXXX���333UTTCCC������������������lkk333������������333������RQQ333������������������CCC===���������HGG333������===RQQ���333���������333������LLL===���������������333_^^������yyy333���������333������������===UTT���333���������333������333���������333������������������333nmm��������͓��333������333���������������������333`__���������������������333333333������333===333���������333ihh���������333lkk���333������������333������333_^^������������������333gff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������:�������������۲�۲��8������������<���������������������������ccc333������������333������XXX333���������333������bbb===���333���vuuLLL���333������������������===CCC������������333������333===������������������333bbb���������nnn333������===RQQ���333������������333������333ccc���������������_^^333rqq����333���������333������������===UTT���333������������333������333���������333������������������RQQ333333333333333333������333���������������������333`__������������������333���333������333���333������333������������333LLL���333������������333333======���������������rqq333333������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"��������������������m������������#���������������������������ccc333������������lkk333������`__333���������333������333lkk���333���===������333������������������333kjj������wvvCCC333333������333333_^^_^^ZZZ333nnn���333RQQ���������lkk333������===RQQ���333������������333������333_^^�����������������ᮭ�{{{XXXCCC333���������333������������===UTT���333������������333������333���������333������������������333yyy������333lkk������333333333333fff���������333`__������������������\[[333���333������UTTUTT���333���������333������������333XXX���333������������333HGG333������������333333kjj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�������������֩��������.����������"���������������������������ccc333333333333333333333������333���������fff333��ڸ��333������HGGbbb333������333kjj���������������333ppp������wvvwvvwvv������XXX333���������333������UTT333���������===LLL������===RQQ���333���������333������ZZZ333���������������������������333���������333������������===UTT���333���������333������333lkk������333���������������������333vuu���333���������333������rqq333UTT������333`__������������������333ihh���UTTZZZ���333������333_^^������333UTT���������333������333ZZZ���������333���ccc333���������UTT333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������:����������6��6��&�������������������<���������������������������ccc333�����������Ӆ��333���������===333rqqfff333xww���333������333333������bbb333���������������333CCC������������������������333ZZZ���RQQ333������333333}||RQQ333���������===RQQ������UTT333_^^xww333RQQ������333HGG���nnn���������LLL������===CCC������vuu333`__���������===UTT������UTT333_^^xww333RQQ������333333RQQwvv333333���������������������kjj333���gff===���������333���������fff333������333`__���������������333������333���333������fff333������}||333HGG�===333������333===CCClkk��̥��333������UTT333������fff333������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t����������������F��R��������(��������v���������������������������ccc333������������333������������rqq===UTT���������lkkXXX������OOOrqq������OOO���������������gff333���������������������������`__===gff������������fff===bbb������������===RQQ���������|{{LLLHGG{{{������������ccc333CCC���������rqqHGG333lkk���������ccc333===OOO������_^^nnn���������|{{LLLHGG{{{���������OOO���ZZZ===nmm������������������������333���333������������333���������bbb333������333`__���������������333���������333HGG333������333��������ꐏ�XXX===nnn���������OOO���fff333������333���������_^^ZZZ�����ׁ��OOO333XXX������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ש�����������������������������������������������������ccc333������������333���������������������������������������������������������������������������������CCC333������������������������������������������������������������������������===RQQ������������������������������������������������������������������������������333���������������������������������������������������������������������������������������������===333333������������333������~}}333CCC������333`__���������������UTT333���������333333rqq���������333������������������������������������������������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}���������������[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������o��������$�ѝ�������ݷ��@��������r������������������������������ccc333������������333������������������������������������������������������������������������������������ihh333333333333OOO���������������������������������������������������������===RQQ������������������������������������������������������������������������������������������===HGG���������������������������������������������������������������������������333LLL������������333333333333rqq���������333`__���������������333ihh���������nmm333������������333UTT���������������������������������������������333���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������[[[[[[[[[[[[���������������[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������N����������������������O������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ihhxww������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������p������������������q���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t��;�� �� ��;��u���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߇����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������읝�\\\[[[������[[[\\\��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������󨨨```[[[[[[[[[������[[[[[[[[[^^^������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[bbb������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[ggg������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ooo[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[ooo������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[^^^������������^^^[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[��������������������璒�\\\[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[��������������ꕕ���������������݆��[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[uuu�����������󨨨```[[[[[[^^^���������������{{{[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[mmm���������������eee[[[[[[[[[[[[[[[[[[bbb���������������rrr[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ggg������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sss[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[mmm������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[vvv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqq[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ttt������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������iii[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ggg������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[[[[[[[[[[[[[[[[bbb��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������흝�]]][[[[[[\\\��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������䌌����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vvvfffffffffffffffffffff���vvv���ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff������������fffffffff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vvv�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򝞟���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uvv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������def���qrrrss���������������������|||fffjjjjjj���������vvv}}}jjjhhh������������hhhjjj��������É��������������������fffqqqhhh������������fff���mmm������������hhhjjj������������hhhjjj���������fff���hhh������������������fff������fffppqwww{{{������wxxhhhjjjwxx������������������DDDDDDVVW���������===HIIHII������������������VVW������DDDDDD���DDD���������jjk���333eefDDD===���������===DDDaabPQQ������ffg333������MNNHII===���������������������===PQQHII������333������������������wxxnoo���ffg������������������������uvvfffjjjjjj������fff���������������ooo���fff������������fff���������fff���������������ooohhhhhhtuu���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x|}�����ә��������WWW���������������mmm������������hhh������vvv���������uuu������xxx��������������É�����������������ooo���������������������������mmm���������xxx���������������xxx���������������fff������hhh������hhhhhh������fff���������������fff��ٞ��qqq������������������������HII���������VVW���333���������DDD���������������VVW������VVW������DDD���������iij���333���������333��ݑ�����������333������333������PQQ���������333��ڀ�����������HII���������z{{���������������������ZZ[��λ�������ͮ��pqq���������������jjj������������mmm���sss������������z{{������fff������������ooo���������fff������������fff������������hhh���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[kkk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������oop���]]]��Ϝ�����������������������qqq���������������������vvv�����������������������������������É�����������������������������������������������mmm�����������������������Ι��������������������fff������hhh��༼�������������fff������mmm������ooo��ڞ��������������mmm������������333�����������ֵ��bbc���������333��݇�����������VVW������\\]������===���������iij���333���������kll���������������PQQ������333������333���������qrr��������������������Ə��===������������������������������}~~���uvv���yzz���������������mmm�����������������ű��qqq���������fff������fff������������{||���������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ooo[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ppp���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ijj������������������������������hhh���vvv������������������{{{������~~~�����������������������������漼����fff���������������mmm���������{{{������~~~������{{{������~~~������fff������hhh���~~~������ppq���fff��������ߺ�����fff��ڞ��������������qqq������������333�����������黽�^^_���������333��ᇈ����������SST������\\]������333���������iij���333���������eef���������������VVW������333������333���������kll���������������aabSST���������������������������stt���MNN�����������ݳ�����������������������������������������fff������~~���������fff���������hhh������������fff���������uvv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������eff������������������������������hhh���vvv���������jjj������qqq������uuu������fff������vvv���������fff������������|||������mmmuuu������qqq������uuu������qqq������uuu������fff������hhh���jjj������ppq���fff������ooo������hhh������jjj�����񂂃���������������\\]���������===���333���������PQQ������PQQ������333��߿��VVW������333wxx������iij���333���������333��釈����������VVW������333������^^_���������333��䀁�===������333������mnn���������������������pqq���MNN�����������起�������������������������������������������������ooo���������fff���������sss������������fff���������tuu������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tvw���eff��٣�����������������������sss������������������������jjjjjj������������mmmjjj��������ʑ�����fff���������jjj��������������◘�fffjjj���~~~���qqq��ٳ��mmmjjj������������mmmjjj������uuufffooo���hhh������������������fff���������hhhfff������������qqqhhh���������������������iij333PQQ���������ZZ[333ffg������������SST333������DDD333ZZ[���kll���DDD���}~~���333���===PQQ������������������noo���VVW333MNN������kll333SST������������aab������DDD333qrr������������������������������������}~~��������������������qqq������������������������tuu���jjj���������fff������������jjj���������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uxy�����̖��������WWW���������������mmm������������hhh���������������������������������������������������������������jjj���������fff���������������������������������������������������������������fff������hhhfff������������ffffff������������������������������������������������������������������������������������������������������������\\]������������������������333������������������������������������333������������������������������������������������������������������������ZZ[��ϴ�������ò��noo���������������ooo������������fff���������mmmz{{������������fff��������󞟟{||���������fff������������fff������������hhh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[������[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bcc���qrrqrr���������������������{{{fffjjjjjj���������������������������������������������������������������������hhhmmmfff���������������������������������������������������������������������������hhhxxx���������������fff�����������������������������������������������������������������������������������������������������������婪�������������������iij���333������������������������������������������������������������������������������������������������������������������uvvnoo���eef������������������������{||fffhhhhhh���������������fff������������ffffffffffff������z{{fffffffffffffff���������mmmhhhhhhtuu���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[���[[[[[[[[[[[[[[[[[[\\\���������jjj[[[[[[{{{[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[ggg���ppp[[[[[[[[[[[[[[[���������������jjj������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[���������[[[[[[[[[[[[xxx������������������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[{{{���������\\\[[[[[[\\\���������������������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[jjj[[[[[[[[[\\\���������������\\\[[[������������������������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���kkk[[[[[[��������������������٥��������������������������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������\\\ccc�����������������������������������ٖ�����������������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������������kkk[[[\\\������������[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������������www[[[bbb������������[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������č�x�yo���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������������������������������������������춶����������������[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������޽�������������썂x���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������������������������������������������������������������[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�uj�uj�yn�������������uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\������������������������������������������������������������������\\\�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�yo�������uj����½����uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn��������������������������������������������������������������ɧ��ppp�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�������������yn�uj�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������iii[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ggg����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������춾�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������ΐ�}�uj�}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������΄uj�}s�������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�������������uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߖ���vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x��������������ބuj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������蝒��vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������އyn����½����uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�yo¾������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ί}s�uj�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�vk�vk�xn�}s��w��|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[[[[[[[[[[lll�����胃�[[[[[[[[[[[[iii����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn�uj�}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӿ���������������������vk�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[[[[[[[[[[```ggg[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񝚒�uj��}����yo���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾��yo�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������iii[[[[[[[[[ccc[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[bbb�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ۍ�x�uj�����������ćyn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������졗��vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[��б��iii[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Έyo��������������ފ}s�yo�½�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʋ}s�xn�����������൮�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[������������^^^[[[[[[[[[[[[[[[[[[[[[[[[[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��x�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąvk�xn��w�vk¾����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[^^^������������������yyyqqqqqqqqq```[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������얐��uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�������������xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[������������������������������������[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҋ}s�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������؄vk�������������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn[[[[[[������������������������������������[[[[[[ggg�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׊}s��������������坚��}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����������ۄvk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������___[[[[[[[[[������������������������������������[[[[[[[[[```�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ί}s�uj����uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�������}s��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]][[[[[[[[[\\\������������������������������������[[[[[[[[[[[[```���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x����uj��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[\\\������������������������������������[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������썂x�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߖ���vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������^^^[[[[[[[[[[[[\\\������������������������������������[[[[[[[[[[[[[[[nnn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�uj��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��w������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[\\\������������������������������������[[[[[[[[[[[[[[[bbb����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½������}s�����������啎��uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ۖ���vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[[[[[[[[[[\\\������������������������������������[[[[[[[[[[[[[[[www����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�yn�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ύ�w�xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[������������������������������������[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������욕��uj�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[qqq�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ˊ}s�uj�}s�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccc[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[www�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��x��Қ�������������욕��uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk���¾��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxggg[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������줣�����������yo�½����}s�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[mmm���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�uj�uj��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⭲������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�����������睒��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[mmm�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�yo���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\[[[[[[[[[[[[{{{��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᛐ��vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������㮮��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�}s�xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˖���uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����ۄvk�������������xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�½�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo���¾�����vk�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�yn�uj�����������������}����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�vk��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�yo����uj�}s����������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������Ҋ}s�uj�}s�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�����������읚��uj�����������񚕌�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąuj�����������������������ލ�x�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ċ}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������ˈyo�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������줛��vk��|�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jjj[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s�������yn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�vk����������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�yn�����������Ąuj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������街��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ӂ��������[[[kkk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ί}s�������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ل��[[[[[[������jjj[[[������������[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s����������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��w������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}[[[[[[iii������������[[[���������������iii[[[[[[}}}�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ސ�}�uj�uj�����������咊�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�������xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{[[[[[[jjj������������������[[[���������������������jjj[[[[[[{{{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԋ}s�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąvk�������������xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[iii������������������������[[[iii������������������������mmm[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�uj�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾��vk�����������ۄvk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[iii������������������������jjj[[[������������������������mmm[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�������������vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{[[[[[[kkk���������������������[[[������������������kkk[[[[[[{{{��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}[[[[[[iii���������������[[[������������iii[[[[[[}}}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ćyn�����������吇}�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ل��[[[[[[������������[[[iii������[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������吇}��������Ί}s�yn�½�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������͋}s¾������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ن��������������kkk[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������󙍅�vk��������Ƌ}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąuj��������������얐��uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƈyo����}s��|����vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������孲���񱶲�����������ۍ�x�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߄vk�����瞕��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[iii����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������������ćyn�yo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Қ���}s����������������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��������␇}�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s�uj�uj�½����������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߄vk�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn�����������񶾹�����������˄uj�½����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ފ}s�uj�uj�uj�����������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��|�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�}s�������½�uj��줣��uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn������xn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ۄuj�½����������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|����������xn��ľ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�½����������}s�uj��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾��vk�����������w�vk�vk�vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�����۝���uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�vk�yo������¾������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�uj�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������󮧡�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������愄��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������͎�w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqq[[[~~~������������������������������������}}}[[[rrr����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[nnn������������������������������������������ppp[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׸½�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������莁w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[___��������ꄄ������������������������ꄄ����������___[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƛ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[���������ppp[[[������������������������[[[qqq���������[[[eee�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԕ���uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������줛��vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[bbb���������[[[iii������������������������hhh[[[���������bbb[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��|�xn�xn��������������ʾ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������bbb[[[������������llllll������������[[[bbb���������[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj�uj�uj����������½�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ِ�ِ�ِ�٣����������ݛ�ۛ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w��������������������Ƌ}s���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn[[[���������[[[eee���������[[[[[[[[[[[[���������eee[[[���������[[[ppp�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������uj�}s�����}�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ݴ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾���w�vk��������؄vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[���������[[[���������lll[[[[[[[[[[[[mmm������[[[���������[[[aaa��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x��������ΐ�}�uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk���¾�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```[[[���������[[[���������kkk[[[[[[[[[[[[kkk������[[[���������[[[```����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s������������vk��ꎁw������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nnn[[[���������[[[eee���������[[[[[[[[[[[[���������eee[[[���������[[[ooo�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������������������uj��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s������������xn��|�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������aaa[[[������������kkklll������������[[[bbb���������[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn��������������⒊��uj�����x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�����租��vk��|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[bbb���������[[[iii������������������������iii[[[���������bbb[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�yn�½�����έ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ۈ����������ݛ�ۛ�ې�����������٨���ۣ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�vk�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ddd[[[���������ppp[[[������������������������[[[qqq���������[[[eee��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������è�������������؇xn��������w����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[```��������섄������������������������섄����������```[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������zp�������������������vk�|r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj����uj�������������������}s��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߒ�|�vk�vk��|���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[ooo������������������������������������������qqq[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn����������vk����������|r�vk����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�����������������咊��uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�xn�����ؠ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqq[[[~~~������������������������������������~~~[[[qqq�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������斊���������{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ĉyo�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������΄vk��ߎ�w������vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������脄��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�u������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӈxn�����͒�|���w�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~s���������u��w�������xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|�����虍������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������殧������䠖��xn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ׄuj��������������x��x�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߎ�w�vk�vk����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�����㖊��yo�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������yn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ċ}s�}s�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u��͌~s�������xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������΄uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ꡗ��vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƅvk�u����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�xn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������▊�����������������vk�������zp�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}������}s��׽����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������蠖��vk��������������ʻ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~s�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�����Қ����x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�����������򛐈�vk�vk�vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ӄvk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׍�x�uj�yo������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�}s�����׈yo����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�������������vk�xn�vk�xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�yn�uj�uj��}�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������u�������������������vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������΄uj�uj�����Ԗ����}�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƫ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x�½��x������yn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƈyo¾�����xn����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn��ظ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������떊��vk�vk�|r��������{�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӓ�|��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{�����Ävk�����������{�vk����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s����yn�}s�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s���������xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��������̈́vk��������������Èyo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԥ���½�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�����w��w¾��}s�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s�����졗��vk��|����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½����uj�����읚�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{��{�����莁w����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk�����{��w�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ؑ�{�vk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˝����吇}����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾��xn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߞ��������������¾��vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ����������������������������������������������������������������������������������������������������������������������������������������������������������vk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�vk�xn�vk���������vk¾����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ�������������������������������������������������������������������������������������������������������������������������������������������������������������vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk����������vk��|����vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������͎�w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������΄vk��������������������ߎ�w�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn��������������ꎁw��w����}s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¾�����}s���������������¾����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������批������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������քvk�vk��������������΄vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ܛ�ܛ�܉�֒�������������������߿�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������غ�ңeҠ^џ]ҟ]Ҡ]ҟ]џ]П^͜[ϩuо��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk��w�����������w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߾���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������غ�Ҡ^Ҡ]ў\ѝZѠ^ҥhԩpխzԬuӧlҡbϝY͚X͛YΜ[ѩt�ֿ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������։�֒�ٿ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׺�Ѡ^ҟ\ҡaճ��Ȭ����������������������������Ƿ̲�΢hΜYў\حs�ŭ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƅvk�}s�����������ċ}s�vk��w������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZ���������ZZZZZZZZZZZZZZZ������������ZZZZZZZZZZZZZZZ���������ZZZ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������̲ҡ`ҟ\Ҡ]ؾ�����������������������������������������������î΢iӟ\ќYӪu�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}s��������؄vk�����ʻ���vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������^^^ZZZ���������ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ���������ZZZ___�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٿ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ؾ�ҟ]ў[ֳ����������������������������������������������������������Ϻ�Ԣ`Ӟ[جq�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�}s�����������|���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```ZZZ���������\\\ZZZZZZZZZZZZZZZZZZZZZZZZ\\\���������ZZZbbb�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ճ�Ҡ]ўZ�Ȭ������������������������������������������������������������������جrԡ]֥e�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������瞔����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������dddZZZ���������^^^ZZZZZZZZZZZZZZZZZZ]]]���������ZZZ[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ֳ�ҟ\Ңc���������������������������������������������������������������������������ڴ�ЛWО]�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w����������yo��������Ʊ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkkZZZ|||������bbbZZZZZZZZZZZZaaa������ZZZ]]]ZZZ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������áҠ]Ӣd���������������������������������������������������������������������������������ձ�ќXզl����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo����vk����������vk��|��w��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqqZZZuuu������eeeZZZZZZeee������xxxZZZbbbZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҡ^ҟ\���������������������������������������������������������������������������������������֫sա]۵���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������λ����������ӄvk�}s���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxZZZooo������llljjj������rrrZZZwwwZZZZZZZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ңeҟ[�Ȭ������������������������������������������������������������������������������������������קiԠ^�ɭ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w��ċ}s�����잔�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZjjj������������lllZZZ~~~���ZZZZZZZZZ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ĥҟ\ִ�����������������������������������������������������������������������������������������������տЛVѡc��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�����ߒ�|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZeee������gggZZZ���������ZZZZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӣcџ]���������������������������������������������������������������������������������������������������հ}ϜX�Ħ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������w�����ʤ���xn������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZbbbbbbZZZ������������ZZZZZZZZZ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ў\ٿ�������������������������������������������������������������������������������������������������������ӟ]֦h�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������街��vk��|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ZZZZZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ҡbў[���������������������������������������������������������������������������������������������������������ݹ�ԡ]�ս��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᛐ��vk�vk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ҟ]ԭv����������������������������������������������������������������������������������������������������������βԠ\ճ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|����xn�}s����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ťҟ\���������������������������������������������������������������������������������������������������������������Ԡ\Ңc�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ӌ}s�vk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������կ{ў[���������������������������������������������������������������������������������������������������������������ڰyԡ^���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��|��w���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ѡ^ўZ���������������������������������������������������������������������������������������������������������������߾�ѝZ�ĩ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ơ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҡ^ӣe������������������������������������������������������������������������������������������������������������������ЛX׼�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ҟ]Ԫr����������������������������������������������������������������������������������������������������������������ίѝZٻ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������џ\ְ~����������������������������������������������������������������������������������������������������������������ԻԠ\߽�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҡ]կ|���������������������������������������������������������ñ�����������������������������������������������������ѵա]���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ҟ]թq�������������������������������������������������������̺�~L�������þ�������������������������������������������̫ԡ]�ɨ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ѡ^Ҥg�����������������������������������������������������粔i�J��V�������������������������������������������������ơԠ]�ҷ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Өlў[����������������������������������������������������λ��SĊI�yG������������������������������������������������۷�Ӡ\���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������׸�џ\�Ȭ�����������������������������������������������糔h��OȌI��F�}Q���������������������������������������������Ѡ_Ҡ]����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ѼҠ]׳�����������������������������������������������ʵ��VːOÃ:ÉH�yG����������������������þ�������������������ϸϜY֯{������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ѡ^Ҡ^��������������������������������������������洔f��RɋF�~4ąA��F�}P���������������������������������������ҵ�̚Y�ƨ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ճ�ҟ\�Ƨ����������������������������������������DZ��XЕTń:�}3��6ƋJ�zI��~������������������������������������ŖZȘY������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������џ]Ңd��������������������������������������氐aĒU͐KÁ8�5�5ćC��E�yJ����������������������������Ŀ���ū���Tʥv������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԭuў\�������������������������������������ë��ZҚYɉ@Â8€7€7��8ÊI�xF��y���������������������������ž���P��T������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ҡ^Ѡ^��������������������������������䰏_ƕXЕQLJ>‚9��8��8��9ÇC��H�}M�����������������������������e��N��u������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������غ�Ҡ]̟b��������������������������������Z՝\ΏGƇ>��8�6‚9ƒ:Ä<ǐO�~K��~�����������������������o��J��X������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˪yԠ]جr�����������������������ᮌ\ȖZԘU͎FƇ>��9��8��9„<Ä<ƌI��M�}L����������������������I��Oü����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������٫qա]ٯx������������������μ���Z՞^ГJΐGɋCÅ=ƒ;Å=Å=Å=ć?ȑQ��M��~����������������~H��K������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������רjԠ]שm��������������ଊYʙ\ЖR͏FϒȈGɋCƉAŇ?ć?ć?ć?ȎK��P�~M�����������r�~H��K������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٰxԡ]գb�д������˸���[Ԟ]͐I͐GΐHΒIˏFȌCƊAʼnAň@ň@ʼnBʕT��M��������d�I��L�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ё�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ܷ�ա^Ԡ\ٯx�Խ��V̛^ԛWΒJΒJДMϔL͑JʏGȌEƋCƊBƊBƊBȑM��R�u>�I��J��T��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������쨨�mmm����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ϰդeԡ^��F��CӛVѕMіNіNіNЕMΔL̑JʏHȍFnjEƋDʼn?ą9ȌB�w8�x?��q������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lll������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ֶ��w8ȍD΍=̈5΍>ϐCϑEϑFϑG͏EˍAȊ>LJ;ă3ā0ā1Ƈ:��E�}I��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrr������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;���YқUΎ>̊7̉5̉5̉5̉5ˈ5ˈ4Ɇ4ȅ3Ƅ3ń2ņ6lj=ȎEϝ_��W�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񡡡��������������������𠠠mmm�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������a̟eա_қVқVїOЕKϓGΐC͎?͏A͐D̐FˑI˓M˓NʓN˓N͙WĘ]��Z�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������枞�������mmm�����������㎎�������������ppp����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƿ��_اkӝZӜXӜXӜXӜXӜXӜX՞]ՠ`ӝ[КVϘSΖR͖Q̕Q̕Q̖Rѡd��VĽ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lll���������nnn������ooo������������mmm�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������鼠zƛc֤eӝYӝYӝYӝYӝZ֣cةlҥjˠgѤi֧jӠaϘUΘS͗S͗S͗RО_��^��p�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk������������kkk���ttt��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������뭌Z֨mԠ^ӞZӞZӞZԟ\רjΣi��`��Y��l��Z��\ʞeզiЛXϙVΙUΙUϛYѣh��U�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk���������������gggnnn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʸ�dتmӟ[ӟ[ӟ[ӟ[֧gʡh��^�Ϻ�����������IJ�^ŝeԤfМXϛWϛWϛWԦi��`�˾��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lll������������������kkkpppqqqqqq������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������›fרjԠ]Ԡ]Ԡ]գ`֩n��^��������������������ز�\ҥlң`ѝZѝZѝZԥg��c˼������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񗗗������������������������iii���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������è�ʡh֧gԡ^ԡ^ԡ^֧gʡh¦}���������������������Ʈ�Ŝe֦gҟ\ҟ\ҟ\ԥeȟf��~��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񳳳|||���������������������������kkk��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bҧn֥eԢ_Ԣ_Ԣ_ةlÝg�¥����������������������ɱ��fשlӡ^ӡ^Ӡ^ԤcЦl��b�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~������������������www������������nnn�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������jҧn֧gգ`գ`գ`ةlǟgѻ�����������������������ŪÝgתlԢ_Ԣ_Ԣ_֦fѧm��i����������������������ti�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񈈈������������������������������������RRR������������mmm������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʲ�ʡhתkդbդbդb֪iΥm��r���������������������ħ}ʢjתkԤaԤaԤaשkƠh�������������������������uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������龾�ooo��������������������������������������������������™������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˵Ġj٭pեbեbեb֧fٯu��f�˲�����������������»�cٯs֧fեbեbեb֬p��k������������������������yn��}�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������𷷷mmm��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ս�eڰv֦d֦d֦d֦dثmҫr��aһ���������������aҩpثn֦d֦d֦dѥdЭv��f��������������������������Ąuj�����򝛓�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������𾾾ooo������������������������������nnnkkkkkklll��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bҩp٭p֧f֧f֧f֧f٭pׯvơk��a��\��aşj֮uٮr֧f֧f֧fϥfΪqɨq��c����������yn�uj����������������uj�yo�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������徾�ttt�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¿�dٰwתk֧f֧f֧f֧f׫lڰvڲxٰwڲxڰv׫l֧f֧fԧfΥģlѯx��f�Ծ����½�uj��������ߍ�x��������ۄuj�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������vvv���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ͳ�ȣlڱx֨i֨h֨h֨h֨h֨h֨i֫k֨i֨h֨h֨hԨh̦i˥jұyĥn�����������x��������͉}r��x��}�����㮲�����uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������纺�sss������������zzz��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������gҫrڲx׫l֪i֪i֪i֪i֪i֪i֪i֪i֪iөi̧j̩mӲyέr��e����������uj�������}r�����˄uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ス�nnn��������ъ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bͧnڴ{ٯs֫k֫j֫j֫j֫j֫j֫jҪk̨kϭtԵ|Ȩp��b����������������uj��}����������}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������뷷�mmm�����ы��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʫ~ǡjׯvڳzٱuدr׭n֫k׭nѭrήvѲzѲy��jë|�����x�uj��������ۇyn�}r�������uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\�ppp����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������˱ÜbͦnӬrڳzܶ~۵~Դ~ϱ|̭tǨn��c�˭����uj��������㠞������ߚ���}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ň���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƨȤp™^şf��k��g��_��o�Ʀ������uj��������҉}r�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������㏻؏�؏�؏������������ܛ�ܩ���������������ޛ�ܡ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj��ҵ���}r��͠���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������둽�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��x��x��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����׫���uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj�������������������uj�uj��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������젞��������������uj�����ҩ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������돻؛�܏�ذ����������䑽٩�ᑽ������������葽٩�ᑽٿ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�}r������������}r�uj�}r��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������ׇyn��x�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������Ľ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����՗����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������욕��uj�uj�����������썂x�yo�yn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������썂x�yo�������uj�½����������uj�}r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn��������˄uj����������������uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[������������[[[[[[[[[[[[[[[[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[������������[[[[[[[[[[[[[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������㕎���������̈́uj����������½���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�yo����������uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������߉}r������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������֍�x��������������������������x�uj����yn��x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r��}��������������������������ۖ����x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r��}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������쩪�����������������uj�������}r��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������썂x�����}�uj�������������uj�yo������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������uj�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������썂x������}r�����������������׉}r������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn�����߄uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[������������������������������������[[[[[[�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������x��͐�}���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[������������[[[[[[[[[[[[[[[[[[����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������҇yn�uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[������������[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�uj���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r�yo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj��x�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򚕌��x�������������������������½�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������������������������҇yn��x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj���������������������������yn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo��x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½��������������̈́uj�����׍�x��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r����uj�½����������uj�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r�����߄uj�½�������½�uj�uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r��������������͚���}r��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ׄuj��������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�uj����������½�uj��Ġ���}r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yn��������ח�������쐆}�uj��x���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������ĉ}r�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������҄uj��ͮ����x��۠��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������½����������������uj�����ˣ���yn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ąuj�uj����������������yn�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����x�yo�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x��򣣜�uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ң�������������ۄuj��������͍�x�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo�uj�}r����������������������������uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yo����uj�������Ąuj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Մuj�����ے���yo����}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�������������uj�uj�yn����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�����������ې�}������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������̈́uj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������̶�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{q�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������垔��uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�zo�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߙ���uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ͯ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߸����������������|�}r�uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������袙��uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{q�zo��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������瞔��uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}r�����������薊��uj�uj�{q��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{q�����ᮧ��{q��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƙ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������~s������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�������������}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������|�����च��uj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߺ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ؖ���uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�}r��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƅuj�xn��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ֈzo����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{q�����������墙��}r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������߾���xn�}r����uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ɺ�������������ǥ����Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ�Ŷ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ͩ����Έzo����������������}r��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������坒��uj����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�{q����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߙ���uj�uj�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xn�~s����xn�����������坒���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ة��������uj�����軶��xn�}r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uj�uj�uj�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򌋋��������������򉈈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򉈈��������������������������������������������������������������������������������������������������������������������������������������������򥣣�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򆅅///FEE���������***������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***���������������������������������������������������������������������������������������������������������������������������������������������ihh���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQ{zz���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQ{zz�����������������������������������������������������������������������������������������������������������������������������������������򋊊===���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$|{{���������������������������FEE������������]]]������utt666��������������������򿾾FEEonn���������uttIII___TSS��򠟟���������������������������CBBWVV���������������������WVVnmm���������***������]]]fee������NNNtss322������utt666���������������������KKK///���������������aaa@@@���������������FEEYXX���������������|{{===�����򏎎��䬫�������������������������@@@TSS��������򑐐///���������kjjYXX��򖕕$$$���������///���������CBBIII��������򗖖$$$322��������������������򺸸$$$lkk��������򠟟������///������������FEE���������CBBIII���������onn���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===666������322�����������������������򪩩�����������򛚚�����򻹹vuu���������������������FEE�����ϙ��\\\�����������Ή��RQQ��򠟟������������������������***KKK������***PPP������������������UTTnmm���������***������\\\fee��򋊊������aaa�����򻹹vuu������������������\\\***������onn��������򉈈������CBBCBB���������PPP999������{zz������������{zz===���������������������������vuu���������������������$$$322�����ϥ��@@@�����򐏏///���������ihhYXX��򖕕$$$������rqq$$$���������$$$PPP������@@@CBB��򼻻rqq��ŕ��������������������YXX�����қ��yxx������322PPP������RQQ322��¾��666�����򪩩���������$$$PPP������@@@CBB��򜛛�����ژ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򫪪�����������������������򈇇$$$������������III���***������������������������������\\\$$$�����������򢡡��Ԭ�����������NNNRQQ��򠟟��������������������򯮮��������򲰰������������������UTTnmm���������***������\\\fee���utt***���������������������������������������������������999baa�����������������������򾽽��������򑐐������������{zz===��������������������������������������������������򭬬�����������򱰰�����򐏏///���������ihhYXX��򖕕$$$������NNNedd�����򭬬������������������rqq999���������lkk��������������򤢢@@@������������utt322���������������666ihh�����򿾾�����򈇇$$$�����򭬬��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򈇇***���������������yxxTSS���������������������������$$$���������������������������$$$$$$nnn���CBB��򠟟��������������������򄃃///������������������������������UTTnmm���������***������\\\fee��򾽽===zyy��������������������������������������㮭������ѓ��666������������������***�����򜛛������������������������{zz===�����������򲰰������������������������������������~~///��������������������򐏏///���������ihhYXX��򖕕$$$������NNNlkk�����򃂂���������nmm����GFFonn��������򞝝���������������������������������FEE322��������������򍌌PPP�utt�����򈇇***�����򃂂���������nmm���������ᕓ�RQQ///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򈇇***��������򍌌***��򾽽��������������������������������������������������������ߖ��rqqcbb666��򠟟��������������������򊉉***������������������������������UTThgg���������$$$������\\\fee��������͉��onn___���������������������������������$$$cbb���������������KKKlkk���|{{999������������������������{zz===��������������򛚚���������������������������������vuu@@@��������������������򐏏$$$���������feeYXX��򖕕$$$������NNNlkk�����򋊊ihhihhihh���NNNihh��������򙘘�����������������������𿾾���$$$��������������������򺸸�kjj@@@�����򈇇***�����򋊊ihhihhihh������$$$fee������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tss�����򧦦�����򈇇***���������999{zz������������������������������������������������������������������������WVV\\\��򠟟��������������������򵳳��������򢡡������utt���������UTT666���������������\\\fee������������������������������������������������999999�����򹷷��ަ��������������WVV]]]���onnFEE������������������������{zz===������������������zyy������������������������������vuu@@@��������������������򐏏���������322utt��򖕕$$$������NNNlkk�����򷵵���������wvv999���{zz///���������YXX�����������������򾽽///PPP�����������������������������������������򈇇***�����򷵵���������wvv999��򭬬������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322GFF������aaa������������������nmmFEE���������������������������������������������������322@@@�����������򠟟�����������Ӌ�����������===322������ihh������wvv������UTTfee���PPP������\\\fee������cbb���ihh������������������������������������������������������������999���򎍍$$$������������������������{zz===���������������������666fee���������������������������vuu@@@��������������������򐏏FEE���ppp�����򖕕$$$��򵳳666NNN���������@@@999���������������TSS���onn������������������666�����������������筬�utt�����򦤤������III������aaa���������@@@999���������������{zz���edd������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322������������///������666���RQQ===������yxx///������@@@��������򸶶322������������������������FEETSS�����������򾽽@@@���������TSS///wvv�����򠟟������===������$$$***___������hgg$$$666{zz���������666���GFF���onn|{{onn$$$***���������tss|{{�����򳱱@@@999���������������������������������������������WVV322�����������������������򯮮��������򹷷������aaa���{zz===�����򵳳������������vuu322���������������������������vuu@@@��������������������򞝝NNN���///ppp�����򤢢GFF���FEE///���������ihh$$$@@@�����������򲰰KKKUTT������������������������������������������///322������322GFF������yxx///���������ihh$$$@@@�����������򭬬===@@@��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򈇇***��������������������������������������������������򳱱nnn�����㵳�///TSS��������������������������򠟟���������������������������������������������������������������������������������������������������������������������������������������������������FEE@@@�����譬����������___***������cbb$$$���������322YXX������666TSS������GFF@@@===������������������322cbb���������������������������vuu@@@���������������������������������������������������������NNNlkk��������������������������������������������򬫫������������������nmm�����淵������������������������������������������򈇇***��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ɨ�������������������������������������������������������򷵵FEEutt�����������������������������򠟟���������������******yxx������������������������������������������������������������������===FEE������������������������������������������������������TSS���������������___@@@���������������FEEYXX�����������𞝝===��������򠟟PPP������������������������������wvvCBB���������������������������������������������{zz�����򳱱�����������������������������������������������򬫫���������������������322{zz��������򞝝�����������������������������������ɨ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ϟ�������񑐐�����������ڜ����������������������������������������������������������������������򮭭��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ɕ�������������������������������������������������������������ԙ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ʾ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Γ��|{{���������������������������������������������������������������������������������=1�<1�=1�<1�<1�<1�;0�=1�<1�<1�<1�<1�=1�=1�=1�<1�<1�<1�<1�=1�=1�=1������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ޕ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ꕓ������������������������������������������������������������������������������������������������������������������������������������������������ٚ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٚ�������������������������������������������������������������������򌋋�����������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򥣣��������������������������������������������������������������������������������������������������������������������������������������������������������������Γ��|{{��������������������������������������������������������������������������������������������ٚ�������������������������������������������������������������������������������������������������������������������������������������������������������������ᚙ�|{{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򲰰999YXX$$$���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEEUTT===utt�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򆅅///FEE�����������������������������������������������������������������������������������������������������������������������������������������������������������������򢡡FEE������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ihh��������������������������������������������������������������������������������������������������������������������������������������������������������򲰰999YXX$$$������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$$$$\\\***�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򝜜������������$$$vuu������������������������������������������������������������������������MC�PE�I=�I=�I=�I=�J=�I=�I=�I=�I=�J=�I=�I=�I=�I=�I=�I=�I=�J=�PD�MC�������������������������������������������������������������������������������������������������������������������������������������������������������yxx��������򕓓��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򋊊===�����������������������������������������������������������������������������������������������������������������������������������������������������򝜜������������$$$vuu�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򼻻{zz���������\\\999������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������򲰰���������CBBIII������������{zz�����������򥣣322lkk�����򑐐///������������KKK///������������CBBIII������������������������YXX666�����������򥣣322lkk��������򧦦322zyy��������򩨨322utt���������}||$$$322������������nmmRQQhggPPP������������WVVnmm���������***�����������я��|{{���qppNNN������������������������������������������������������������������������QF�SH�J=�J=�K>�K>�K>�K>�K>�K>�K>�K>�K>�K>�J=�K>�J=�K>�K>�J=�SG�PF�������������������===�����򧦦322zyy���������KKK///��������������������������������������������������򣡡��������꯮�{zz���������������{zz���������$$$��������򥣣322lkk�����򽼼///KKK������������������{zz===������������������������CBBWVV���������������]]]fee�����򩨨322utt���������{zz���������������������======vuu���������������YXX///������������666��������򤢢***{zz���������������������FEE���������������}||FEE������������������YXX///�����������������򣡡���������///��������������򱰰���������������aaaYXX���������CBBIII���������NNNtss322���������nmmRQQhggPPP�����򾽽666������������$$$|{{������uttIII___TSS���������������������FEE���������CBBIII���������������������onn���������666utt��������������������������������򚙙������uttIII___TSS��򑐐///���������������������YXX///������������������}||FEE�����������������������������������������������򠟟������uttIII___TSS�����򩨨322utt���������{zz���������666utt�����������������������򉈈///������������}||$$$322���������������]]]���������������������{zz///ihh������������]]]fee������KKK///������������///������///���������������������\\\322������������FEE���������������������������NNN������������������CBBWVV���������������������rqq���������WVVnmm���������***���������pppPPP������[ZZCBB������������___�����������������򑐐///���������kjjYXX��򬫫�����������������򱰰===������CBBWVV��������򖕕nmm��������������򐏏���������������wvv$$$���WVVnmm���������***�����������я��|{{���qppNNN�����򥣣322lkk�����򠟟���������CBBIII���������onn���������666utt������������������������}||$$$322��������򽼼///KKK��������������������������������򯮮��ё��///���������kjjYXX��������ࠟ�yxx���������������YXX///������������������{zz��������򖕕nmm��������������������򿾾FEEonn������������CBBWVV���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������======������$$$PPP������@@@CBB���������$$$��������򿾾wvv��ɭ�����򐏏///���������cbb$$$������ihh������$$$PPP������@@@CBB������������������322�����Ѳ��@@@�����򿾾wvv��ɭ���������tss��Ŝ�����������nmm��ƞ�������򏎎������vuu�����򇆆������lkkNNN������������UTTnmm���������***���������$$$NNN666NNN������������������������������������������������������������������������������������������������������������������������������������������������������������===\\\������������������tss��Ŝ��������cbb$$$������ihh���������������ppp322�����������򚙙��������������򢡡������baaGFF322666�����򍌌�����̐��������$$$�����򿾾wvv��ɭ������$$$RQQ������@@@YXX���������������{zz===���������������������***KKK������***PPP������������\\\fee������nmm��ƞ�������򍌌�����̐��������������������===\\\������}||///$$$���������TSS***������fee������������RQQ������]]]��˨�������������������򪩩������������������}||FEE���������������TSS***������fee��������������򢡡������rqq$$$�����������������򱰰���������������aaaYXX������$$$PPP������@@@CBB��򋊊������aaa�����򇆆������lkkNNN������$$$KKK������������===666������322�����������Ή��RQQ�����������������򪩩���������$$$PPP������@@@CBB��������������򜛛�����ژ�������򚙙�����������������������������������򚙙�����������Ή��RQQ��򐏏///������������������TSS***������fee���������������}||FEE�����������������������������������������������򠟟�����������Ή��RQQ������nmm��ƞ�������򍌌�����̐�������򚙙��������������������������򈇇***��������򏎎������vuu��������򛚚���������������������{zz///���������FEE���������\\\fee���cbb$$$������ihh������rqq$$$�����萏�///������������������YXX������RQQ$$$�����򪩩���������{zz������������������������������onnIII���������***KKK������***PPP�����򕓓YXX������///���������UTTnmm���������***���������zyy������UTT$$$������PPP$$$��������������򥣣FEE�����򐏏///���������ihhYXX������vuu�����������������򱰰������������������***KKK������***PPP������|{{��׻�����������������������������������$$$����UTTnmm���������***���������$$$NNN666NNN��򿾾wvv��ɭ�����򠟟������$$$PPP������@@@CBB��򜛛�����ژ�������򚙙���������������������������������������������vuu������$$$RQQ������@@@YXX���������������322ppp������������aaaCBB��򐏏///���������ihhYXX������322PPP$$$666������TSS***������fee�����������򍌌�����̐��������|{{��׻�����������������������FEE�����ϙ��\\\������***KKK������***PPP������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����򪩩�����򭬬��������������������򻺺���322������uttCBB�����������������򐏏///��������������������򕓓��ڭ�������������������������������򚙙���������������$$$rqq���uttCBB������������������wvv999���������{zz322���zyy666��������򯮮������999utt���������@@@qpp���322utt���������322NNN������������UTTnmm���������***������III@@@���������NNN�����������������������������������������������������������������������րQQ�OO{EE|FF{EE|EE|FF|FF|EE|FF|EE|FF|FFNB�NB�NA�NA�NA�NA�NA�WK�XN�������������������==={zz���������������wvv999���������{zz322��������������򕓓������������������������������999aaa��������������򢡡��򻺺���������ihh������666~~������������������$$$������uttCBB������������������������������]]]322���������������{zz===�����������������򯮮��������򲰰������������\\\fee���zyy666��������򯮮������666~~������������������������������==={zz������������***@@@�����������������������������������������������������򉈈�����������������򈇇$$$������������������}||FEE��������������������������������������������򢡡������NNNedd�����������������򱰰���������������aaaYXX��򭬬������������������utt***���������������322utt���������322NNN��򪩩��������򦤤��������������򫪪��լ�����������NNNRQQ�����������������򈇇$$$�����򭬬�����������������������������������������������������������������������������������������򚙙��򬫫���������NNNRQQ��򐏏///������������������������������������������������}||FEE�����������������������������������������������򠟟��򬫫���������NNNRQQ���zyy666��������򯮮������666~~�����������������������������������������������򈇇***���������999utt���������@@@qpp������III���***���������������������{zz===������������RQQ������\\\fee��������������򕓓������NNNedd�����򐏏///�����������������������������ߐ�������򈇇$$$��������������������������������������������򻹹|{{��򯮮��������򲰰������UTTihh������aaa|{{������UTTnmm���������***�����򾽽������������������������������aaa������feeihh�����򐏏///���������ihhYXX��������������������������򱰰��������������򯮮��������򲰰������������������***nnn���������������RQQKKK��������䮭�������UTTnmm���������***������III@@@���������NNN���uttCBB�����������������򠟟��򭬬���������������������������������������������������������������������������������999utt���������@@@qpp���������������]]]322��������������򋊊�����������������򐏏///���������ihhYXX��򄃃���������666���������������������������������666~~������������������������������***nnn���������������\\\$$$�����������򢡡��ԯ����������򲰰������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz������322KKK�����򃂂���������nmm�������nmm]]]���������***���������hgg�����򐏏///��������������у��===YXX��򃂂���������nmm����������������UTTPPP���������������hggFEE���***���������hgg������IIInnn��������򫪪���IIInmm������������������������������tssCBB���������������feeNNN������������UTTnmm���������***������������������\\\NNN�����������������������������������������������������������������������ւSSȫ�}HHŧ�}GGŧ�}HHŦ�}GGŧ�}GGŧ�}HHOB�NB�NB�NB�NB�OB�OB�XM�]R�������������������==={zz���������������IIInnn��������򫪪��������у��===YXX�����������������������������������򢡡��򏎎������������������322���������hgg������$$$������***���������hgg��������򽼼qpp***������������������{zz�����������������򄃃///������������������������\\\fee���IIInmm������������������322���������hgg������������������==={zz�����������򢡡��滹�ppp���������ihh������������������666|{{���TSSaaa���===�����������������򈇇***������������������}||FEE�����������Ļ��ppp���������ihh��������������򢡡������NNNlkk�����������������򱰰���������������aaaYXX��򃂂���������nmm���辽�===zyy���������������������feeNNN��򃂂///������������������������������������$$$$$$nnn���CBB�����������������򈇇***�����򃂂���������nmm���������������������ᕓ�RQQ///��������������������������������������������򚙙������$$$$$$nnn���CBB��򐏏///��������������ʻ��ppp���������ihh���������������}||FEE���������������������������fee�����������������򠟟������$$$$$$nnn���CBB���IIInmm������������������322���������hgg�����������������������������������򈇇***���������������������tssCBB���������yxxTSS������������������{zz===���������������������\\\fee��������у��===YXX������NNNlkk�����򐏏///��������������Ҽ����������������������򈇇***������������������������������������������������ihhCBB��򄃃///���������������������***������TSS���999������UTTnmm���������***�����򾽽�����򻺺������������666���򌋋NNN���KKK������$$$�����򐏏///���������ihhYXX��������������������������򱰰��������������򄃃///��������������������맦�cbb�����������������򥣣������UTTnmm���������***������������������\\\NNN���***���������hgg�����򠟟��򃂂���������nmm���������ᕓ�RQQ///������������������������������������������������������������tssCBB�����򽼼qpp***��������������������������򐏏///���������ihhYXX���UTTbaa��������򕔔��񻹹ppp���������ihh������������322���������hgg��������맦�cbb������������������$$$�����������������������񄃃///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===]]]�����򋊊ihhihhihh������������GFF{zz���***ihhihhihh666��򐏏***��������򼻻***vuu��������򋊊ihhihhihh���������������322{zz�����򾽽$$$$$$///���***ihhihhihh666���PPPihh��������򦤤���PPPihh������������������������������onnIII���������������aaaNNN������������UTThgg���������$$$������������������ihhNNN�����������������������������������������������������������������������ևXX�TTƨ�~HHƨ�~HHƨ�}HHƧ�}HHƧ�}HH}HH���������������������������������������������==={zz���������������PPPihh��������򦤤��꼻�***vuu�����������������������򃂂������hgg�����������������򠟟��򂁁///������������������ihhihhihh������$$$������***ihhihhihh666��򈇇@@@������������������������{zz�����򊉉***������������������������\\\fee���PPPihh������������������ihhihhihh������������������==={zz���������������������KKKihhihhTSS������������������322������������wvvfee�����������������򈇇***������������������}||FEE���������������KKKihhihhTSS��������������򠟟������NNNlkk�����������������򱰰���������������FEEYXX��򋊊ihhihhihh��������͉��onn___������������������aaaNNN��򉈈***��������������������������������������ߖ��rqqcbb666�����������������򈇇***�����򋊊ihhihhihh������������������$$$fee���������������������������������������������������ppp��������ߖ��rqqcbb666��򐏏***������������������KKKihhihhTSS���������������}||FEE���������������������������GFF�����򠟟��������ߖ��rqqcbb666���PPPihh������������������ihhihhihh�����������������������������������򈇇***���������������������onnIII��򍌌***��򾽽������������������{zz===���������������������\\\fee��򼻻***vuu������������NNNlkk�����򐏏***��������������ҿ����������������������򈇇***�����������������������������������������������򖕕��튉�***���������������������nnn���YXX������������UTThgg���������$$$�����򾽽���������������������///������NNN������������aaatss��򐏏$$$���������feeYXX��������������������������򱰰��������������򊉉***������������������NNNUTT���������������������������wvv���������������UTThgg���������$$$������������������ihhNNN���***ihhihhihh666��򠟟��򋊊ihhihhihh������$$$fee������������������������������������������������������������������onnIII��򈇇@@@���������������������������999999������$$$NNN�����򐏏$$$���������feeYXX���FEEnnn��������򢡡������KKKihhihhTSS������������ihhihhihh������NNNUTT�����������������������������������������������򊉉***������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===TSS������pppUTT��򷵵���������wvv999��򮭭�����򓑑$$$���322���������===yxx��򐏏���������utt///��������������򷵵���������wvv999���������������$$$�����������ڡ��������������322���������===yxx���}||///���������ihh===���}||***��������򈇇������@@@edd���������322zyy���===cbb���������$$$NNN������������UTT666���������������666nmm���������///NNN�����������������������������������������������������������������������ֈZZи��^^˲��^^˱��^^̲��^^̲��__˱��^^e[�e[�f\�e[�e[�e[�f\�pe�cY�������������������==={zz���������������}||///���������ihh===���utt///���������������������������������������FEE{zz������������������ppp666��򫪪��������򝜜������CBBnmm���������������$$$������322���������===yxx���666fee���������������������������{zz===���������WVV��ڵ����������򢡡������������\\\fee���}||***��������򈇇������CBBnmm���������������������������==={zz�����������������������������򯮮�����������������������������������򓑑�����������������򈇇***���������|{{������nmm�����������������������򯮮���������������ppp666������NNNlkk�����������������򱰰YXX��򷵵���������wvv999������������������������===cbb���������$$$NNN��򱰰��������򖕕������������������������������������WVV\\\�����������������򈇇***�����򷵵���������wvv999��������������򭬬������������������������������������������������������������WVV\\\��򐏏��������������������������򯮮������|{{������nmm�����������������������������������䢡�tss��򠟟������������������WVV\\\���}||***��������򈇇������CBBnmm��������������������������������������������򈇇***���������@@@edd���������322zyy���999{zz������������������������{zz===���������������///yxx���\\\fee���utt///������������������NNNlkk�����򐏏������������������������������cbb�����򈇇***�����������������������������������������������򦤤��⵳���������򢡡��℃�FEE��򪩩666������������UTT666��������������򾽽���������������������������������322CBB\\\��򖕕///��򐏏���������322utt��������������������������򱰰��������������򵳳��������򢡡���������������������������������������kjjUTT��򷵵���������UTT666���������������666nmm���������///NNN���322���������===yxx��򠟟��򷵵���������wvv999��򭬬������������������������������������������������������������@@@edd���������322zyy���666fee�����������������������������򣡡��������������򐏏���������322utt���tss322���������cbb��������������򯮮������������CBBnmm��������������������������������������������������������������������򵳳��������򢡡������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������򍌌������@@@999������������]]]TSS���������������YXX���cbb�����򐏏999�����ơ��������@@@@@@������@@@999������������������������WVV[ZZ���������������������������YXX���cbb���������TSS���yxx���������RQQ���utt�����򦤤utt���WVV�����򞝝utt���NNNNNN������������UTTfee���PPP�����򕓓{zz���RQQNNN�����������������������������������������������������������������������֌__�uuз��iiз��iiз��iiз��jjѸ��jj�iioe�oe�pe�oe�pe�oe�oe�{q�h^�������������������==={zz������������������TSS���yxx�����򡠠������@@@@@@���������������������KKK{zz���������������$$$���������������///999�����������򬫫{zz���@@@322������$$$���������YXX���cbb������hgg///������|{{���������������{zz===������������������===322������ihh������������\\\fee������RQQ���utt�����򬫫{zz���@@@322������������������==={zz�����������򵳳������utt������cbb������������999///������onn������***UTT���������������aaa���������������aaa���NNN������utt������cbb������$$$�����������򵳳666NNN�����������������򱰰���������������aaaYXX������@@@999���������������cbb���ihh�����򞝝utt���NNNNNN������322322������������������������������322@@@������������������������aaa���������@@@999������������������������{zz���edd��������������������������������������������𘗗������322@@@�����������򐏏999���������������utt������cbb������������aaa���NNN������������������������������___322��򠟟������322@@@���������������RQQ���utt�����򬫫{zz���@@@322�����������������������������������򈇇***��������򦤤utt���WVV���������������nmmFEE���������������{zz===���������������������\\\fee��򡠠������@@@@@@��򵳳666NNN�����␏�999���������������ppp������666///������aaa������������������������������������������������~~***������===322������ihh���FEE}||������������YXXkjj���UTTfee���PPP�����ֈ�����������onn������666999��淵�������wvv�����������֐��FEE���ppp�����������������������������򱰰������������������===322������ihh������***TSS��������������������������򽼼���kjj\\\���������UTTfee���PPP�����򕓓{zz���RQQNNN������YXX���cbb�����򠟟������@@@999���������������{zz���edd�����������������������������������������������򦤤utt���WVV������hgg///������|{{�����������������������������������򐏏FEE���ppp���������YXX���rqq������utt������cbb�����������򬫫{zz���@@@322������***TSS���������������������������������������������������===322������ihh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������򬫫���������ihh$$$@@@���������666������������RQQ�����򿾾YXXRQQ��������򞝝NNN���$$$���������322TSS������������ihh$$$@@@��������������������򄃃���������������rqq��������򿾾YXXRQQ�����������򾽽WVVGFF�����������򿾾YXX===�����������򞝝GFFWVV�����������򎍍999rqqnnnNNN������///������onn|{{onn$$$***�����������򋊊999tss���hgg�����������������������������������������������������������������������֎bb��ttԽ��ttԽ��ttԽ��ttԽ��ttԼ��ss���������������������������������������������==={zz�����������������򾽽WVVGFF���������������322TSS�����������������������򢡡$$$���999������������///���@@@TSS������������\\\===���///��������򠟟GFFaaa���������$$$��������򿾾YXXRQQ������������fee$$$$$$onn������������������{zz===���������������������hgg$$$666{zz���������������tss|{{�����򿾾YXX===�����������򠟟GFFaaa���������������������==={zz������������aaa���������~~322///tss���������///���@@@\\\������������onn***$$$[ZZ���������///���666GFFyxx///������666���KKK[ZZ���fee666������������~~322///tss���������///���@@@TSS������FEE///��������������򱰰���������������aaaYXX���������ihh$$$@@@�����������򳱱@@@999�����������򎍍999rqqnnnNNN���������]]]@@@���///������322������������///���������TSS///wvv���������///���666GFFyxx///���������ihh$$$@@@������������///���666GFF��򭬬===@@@�����������������������������������������������򚙙���������TSS///wvv�����򞝝NNN���$$$���������������~~322///tss���������666���KKK[ZZ���fee666���������������������������������fee///��򠟟���������TSS///wvv��������򿾾YXX===�����������򠟟GFFaaa��������������������������������������򈇇***�����������򞝝GFFWVV�����򖕕@@@��������򸶶322���������������{zz===�����������򖕕������tss|{{���������322TSS������FEE///��ƞ��NNN���$$$������///���������~~666$$$\\\������yxx///���������������������������������������������322___���������hgg$$$666{zz������322���������UTTutt�����򛚚NNN���onn|{{onn$$$***�����򨧧$$$***ihh������|{{666$$$fee�����򔒒UTT�����򸶶///���������666������NNN���///ppp�����������������������������򱰰���������������������hgg$$$666{zz������������NNN322���������������������������***���������������onn|{{onn$$$***�����������򋊊999tss���hgg�����򿾾YXXRQQ��������򠟟���������ihh$$$@@@�����������򭬬===@@@�����������������������������������������������������򞝝GFFWVV������������fee$$$$$$onn������������������������ihhcbbTSSyxx��������򞝝NNN���///ppp��������򯮮KKKUTT���322���������~~322///tss�����������������򠟟GFFaaa������������NNN322���������������������FEETSS�����������򾽽@@@���������hgg$$$666{zz���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===kjj�����ѭ��===***���������������������������������������������������������������������������������������������������������������������������������������������������322===���������}||���������������������������������������������������������������������������������������������������������������������uttNNN�����������������������������������������������������������������������������������������������������������������������������������֐ee�������~~����~~����~~����~~����~~�~~�{ń{Ą{ăzĄ{ń{Ą{ď��od�������������������==={zz������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$���������������������������������������������������������������{zz�����ұ��TSS���������������������������������������������������������������������������������������������������������===ihh�����˩��\\\�����������������������������������������������������������������������������������������������򈇇***���������������������������������������������������������������������������������������������NNNlkk�����������������򱰰���������������aaaYXX������������������������������������������������������������������uttNNN��������������������������������������������������������������������������������������������򈇇***�����������������������������������������������������������������������������������������������������������򚙙�����������������������������������������������������������������������������������������������������������������������������������ȕ��}||��򠟟���������������������������������������������������������������������������������������������������������utt$$$������������������������������������������������������������������{zz322�����ϳ��|{{������������������������������������������NNNlkk��������������������������������������������������������򈇇***�����������������������������������������Š��999///��������������������������������������������������������������������������������������򾽽��������������������������������������������������������������������������������������������������������������򱰰��������������������������������������������������������������������������������򃂂�����������������������������������������������������������������������������������򠟟�����������������������������������������������������������������������������������������������������������������������������������������������������������򻹹�����������������������������������������������������������������������������������������������������������������������������������������������������򳱱nnn�����㵳�///TSS������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===$$$aaa���������������������������������������������������������������������������������������������������������������������������������������������������������aaa999������������������������������������������������������������������������������������������������������������������������uttNNN��򱰰��������������������������������������������������������������������������������������������������������������������������֕ii��ͬ����Ǭ����ǫ����ǫ����Ǭ����Ƭ����nj�ȋ�nj�Nj�nj�ȋ�Ǘ��qg�������������������==={zz���������������������������������������������������������������������������������fee���������������������������������������������������������������������������������������$$$���������������������������������������������������������������{zzYXX���������������������������������������===FEE���������������������������������������������������������������======vuu�����������������������������������������������������������������������������������������������������ɨ����������������������������������������������������������������������������������������������򳱱��������������������򱰰���������������aaaYXX������������������������������������������������������������������uttNNN�����������������������������������������������������������������������������������������������ɨ�������������������������������������������������������������������������������������������������������������򚙙���������������������������������������������������������������������������������������������������������������������������999��������򠟟������������������������������������������������������������������������������������������������___���������������������������������������������������������{zz///ihh������������===FEE��������������������������򳱱�����������������������򱰰��������������������������������ɨ�����������������������������������NNN�����������������������������������������������������������������������������������������������ݞ����������������������������������������������������������������������������������������������������������������򱰰������������������������������������������������������������������������������������WVV�����������������������������������������������������������������������������������򠟟�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵FEEutt��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾��������኉���������������������������������������������������������������������������������������������������������������������������֖ll�����˱����˱����ʱ����˱����˱�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򣡡�����������������������������������������������������������������������������������������������������������������䘗������򮭭��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������䘗���������������������������������������������������������������������������������������������������������Ϟ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򮭭�����������������������������������������������������������኉���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ϟ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������䘗���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٙnn��Ӿ����ӽ����ӽ����ҽ����Ӿ����ӽ����Ԧ�Ӧ�Ӧ�Ӧ�Ԧ�Ӧ�Ԧ��xn�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nn�oo�oo�oo�oo�oo�oo�oo�oo�oo�oo�oo�oovl�uk�ul�ul�ul�ul�ul�ul�uk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ޕ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEEGFF������������666������������YXX///������������YXX///��������򾽽666���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\]]]���������666���������{zzRQQ***������onnKKK��򦤤������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������///666�����Գ��///999������������RQQ������TSS***������fee������TSS***������fee������$$$KKK�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򉈈***���������ihhRQQ������onn��Ƈ��]]]��򜛛������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������666�����������򬫫��������������������������������������������������������������쪩���������򤢢�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵��������򖕕��񾽽���������ihh***���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{zz������������������666|{{���ppp���������ihh��ϻ��ppp���������ihh��σ��///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵������������RQQfee�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ϕ��===WVV������������������322������KKKihhihhTSS������KKKihhihhTSS������***���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***������������������������������������GFFnnn��򃂂///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������III999��������������������������������������򯮮��������������򯮮��Ɒ���������򕓓���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]]322���������������UTTfee���������***������{zz999��򲰰���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������NNN���������������������������999///������utt������cbb������utt������cbb������322322��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򍌌RQQ���\\\�����򃂂322���������aaa[ZZ��򩨨�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ٵ��������///���@@@\\\������������~~322///tss������������~~322///tss������������]]]===�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾322���999$$$��������򷵵322��������򚙙KKK������������***���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������GFFFEE���������@@@III���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaWVV���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PPPUTT������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVVaaa��򓑑�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������阗������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������י����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Γ��|{{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򲰰999YXX$$$�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򝜜������������$$$vuu������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz������������������������{zz���������uttIII___TSS�����򗖖$$$322���������������WVVnmm���������***�����������я��|{{���qppNNN���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\]]]���������666���������{zzRQQ***������onnKKK��򦤤������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������򍌌�����̐�������������Ή��RQQ��򼻻rqq��ŕ��������������UTTnmm���������***���������$$$NNN666NNN��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򉈈***���������ihhRQQ������onn��Ƈ��]]]��򜛛������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������������666~~��������������䬫����������NNNRQQ���rqq999���������lkk������������UTTnmm���������***������III@@@���������NNN��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵��������򖕕��񾽽���������ihh***������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������������322���������hgg������$$$$$$nnn���CBB���GFFonn��������򞝝������������UTTnmm���������***������������������\\\NNN��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵������������RQQfee���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===YXX���������������������ihhihhihh��������ߖ��rqqcbb666���NNNihh��������򙘘������������UTThgg���������$$$������������������ihhNNN������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***������������������������������������GFFnnn��򃂂///���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===������CBBnmm���������������������������WVV\\\���{zz///���������YXX������������UTT666���������������666nmm���������///NNN������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]]322���������������UTTfee���������***������{zz999��򲰰���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy��������������������򬫫{zz���@@@322������322@@@���������������TSS���onn������������UTTfee���PPP�����򕓓{zz���RQQNNN�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򍌌RQQ���\\\�����򃂂322���������aaa[ZZ��򩨨���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������������򠟟GFFaaa������������TSS///wvv��������򲰰KKKUTT���������===������onn|{{onn$$$***�����������򋊊999tss���hgg�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾322���999$$$��������򷵵322��������򚙙KKK������������***���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������������������������������������������������򬫫���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaWVV������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������������������������������������������������򬫫������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVVaaa��򓑑��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ԙ�������񑐐�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������י����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ȃ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������___���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cbbCBB��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򐏏���������������wvv$$$���fee]]]�����򠟟��򖕕$$$���������///�����򛚚///lkk***�����򾽽666������������{zz�����������������򐏏���������������wvv$$$������FEERQQ��������򩨨322utt���������$$$|{{������WVVnmm��������򤢢***{zz���������\\\322������������{zz���������������������������������������������������������������������������������������������������������������\\\]]]���������666���������{zzRQQ***������onnKKK��򦤤���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$����fee\\\������322PPP�����򖕕$$$������rqq$$$���������YXX��ç��***������$$$KKK�����������򍌌�����̐�����������������������������������$$$����***GFF������***\\\������nmm��ƞ��������===666������322������UTTnmm���������]]]��˨��������YXX������RQQ$$$���������$$$��������������������������������������������������������������������������������������������������������������򉈈***���������ihhRQQ������onn��Ƈ��]]]��򜛛������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQKKK��������䮭�������fee\\\��������������򖕕$$$������NNNedd������������������tss***��򪩩��������򤢢������666~~������������������������������RQQKKK��������䮭���α�������������ƕ�����zyy666��������򯮮��������������򫪪������UTTnmm�����������������򉈈�����������������ߐ�������򻺺���///�����������������������������������������������������������������������������������������������������������򷵵��������򖕕��񾽽���������ihh***�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򥣣������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򓑑***��򃂂///������������������322���������hgg�����������������򥣣��򅄄///������������������IIInmm������������������������������������UTTnmm���������TSSaaa���===��򼻻���������������������nmm[ZZ��������������������������������������������������������������������������������������������������������������������������������������������򷵵������������RQQfee������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvv���������������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򕓓***��򉈈***������������������ihhihhihh���������������������wvv�����������򉈈***������������������PPPihh������������������������������������UTTlkk���������������wvvfee��򿾾���������������������������KKKvuu������������������������������������������������������������������������������������������������������������***������������������������������������GFFnnn��򃂂///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kjjUTT��򷵵���������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򕓓***��򱰰��������򕓓������CBBnmm������������������������������kjjUTT��򷵵�����򵳳��������򬫫kjj���}||***��������򈇇������������������������UTT999��������������������򓑑������������������cbb��֮�������򖕕$$$������������������������������������������������������������������������������������������������������������]]]322���������������UTTfee���������***������{zz999��򲰰�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򽼼���kjj\\\���������fee\\\��筬�utt�����򖕕$$$��򵳳666NNN�����⸶���������򕓓***������322322�����������򬫫{zz���@@@322��������������������򽼼���kjj\\\���������===322������nmm������RQQ���utt������������������������UTTYXX������onn������***UTT������ppp������666///���]]]PPP��������������������������������������������������������������������������������������������������������������������򍌌RQQ���\\\�����򃂂322���������aaa[ZZ��򩨨���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***���������������fee\\\���///322��򤢢GFF���FEE///��ƿ��///��������򢡡III���������]]]===�����������򠟟GFFaaa���������������������������***������������������ihh$$$///vuu��������򿾾YXX===���������322������������///������onn{zzbaa������onn***$$$[ZZ������������~~666$$$\\\������666������������UTT�����������������������������������������������������������������������������������������������������������򿾾322���999$$$��������򷵵322��������򚙙KKK������������***��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򃂂������������fee\\\���������������������������NNNlkk�����������������������������������������������������������������������������������������������򃂂������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaWVV���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVV������������fee\\\�����򞝝���������{zz�����򳱱������������������������������������������������������������������������������������������������������WVV������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVVaaa��򓑑��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򺸸�����������������������ɕ�������������������������������������������������������������阗���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������י����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򐏏���������������wvv$$$���fee]]]�����򠟟��򖕕$$$���������///�����򛚚///lkk***�����򾽽666������������{zz������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\]]]���������666���������{zzRQQ***������onnKKK��򦤤���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$����fee\\\������322PPP�����򖕕$$$������rqq$$$���������YXX��ç��***������$$$KKK�����������򍌌�����̐����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򉈈***���������ihhRQQ������onn��Ƈ��]]]��򜛛������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQKKK��������䮭�������fee\\\��������������򖕕$$$������NNNedd������������������tss***��򪩩��������򤢢������666~~��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵��������򖕕��񾽽���������ihh***�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򥣣������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򓑑***��򃂂///������������������322���������hgg��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵������������RQQfee������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvv���������������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򕓓***��򉈈***������������������ihhihhihh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***������������������������������������GFFnnn��򃂂///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kjjUTT��򷵵���������fee\\\��������������򖕕$$$������NNNlkk�����򸶶��������򕓓***��򱰰��������򕓓������CBBnmm���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]]]322���������������UTTfee���������***������{zz999��򲰰�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򽼼���kjj\\\���������fee\\\��筬�utt�����򖕕$$$��򵳳666NNN�����⸶���������򕓓***������322322�����������򬫫{zz���@@@322�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򍌌RQQ���\\\�����򃂂322���������aaa[ZZ��򩨨���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***���������������fee\\\���///322��򤢢GFF���FEE///��ƿ��///��������򢡡III���������]]]===�����������򠟟GFFaaa��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾322���999$$$��������򷵵322��������򚙙KKK������������***��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򃂂������������fee\\\���������������������������NNNlkk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaWVV���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVV������������fee\\\�����򞝝���������{zz�����򳱱������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVVaaa��򓑑��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򺸸�����������������������ɕ�������������������������������������������������������������阗���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������י����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ȃ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ϣ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򫪪������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������___���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEE��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򧦦322������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cbbCBB��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򰯯������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򐏏���������������wvv$$$������FEERQQ��������򩨨322utt���������FEE|{{������WVVnmm��������򤢢***{zz���������\\\322������������{zz������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uttIII___TSS��򠟟���CBB������������[ZZCBB������������$$$|{{���������FEE������������������������@@@{zz��������򳱱///��������������������򑐐///������������������nmmWVV���������CBBIII��������򠟟������{zz���������WVVnmm��������򽼼///KKK���������������������hgg\\\���������}||$$$322���������WVVnmm���������������������������TSS������������___utt���������������������������������YXX///������������CBBIII������������///������rqqPPP������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$����***GFF������***\\\������nmm��ƞ��������{zz������YXX������UTTnmm���������]]]��˨��������YXX������RQQ$$$���������$$$�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ή��RQQ��򠟟666������666999������UTT$$$������PPP$$$������===666������322�����򪩩���������������������������===zyy���������aaa��͕�������������������򐏏///������������������nmmUTT������$$$PPP������@@@CBB������322PPP�����򍌌�����̐��������UTTnmm���������$$$RQQ������@@@YXX��������������������������򏎎������vuu������UTTnmm��������������������򕓓�����ѹ��///@@@������[ZZ***�����Ң��|{{���������������������������TSS***������fee������$$$PPP������@@@CBB������rqq$$$��������򢡡���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQKKK��������䮭���α�������������ƕ�����zyy666��������򯮮������PPPUTT���������������UTTnmm�����������������򉈈�����������������ߐ�������򻺺���///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򬫫���������NNNRQQ��򠟟��������������������������������������������򫪪�����򈇇$$$���������������������������===zyy�����򈇇���������WVV===��������������򐏏///������������������nmmUTT��򭬬������������������������������666~~������������������UTTnmm���������������������]]]322���������������������������999utt���������@@@qpp���UTTnmm���������������������aaa~~��������򮭭������322������������vuu///��������������������������������������������쭬����������������������NNNedd��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򥣣��򅄄///������������������IIInmm������������������FEE|{{���������������UTTnmm���������TSSaaa���===��򼻻���������������������nmm[ZZ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$$$$nnn���CBB��򠟟������������������������������666���������������������򈇇***���������������������������===zyy������cbb[ZZ��������򣡡��������������򐏏///������������������nmmUTT��򃂂���������nmm����������������322���������hgg������UTTnmm�����������򽼼qpp***������������������������������������������tssCBB���UTTnmm�����������������������������������򋊊���������������������RQQIII�����������������������򻹹ppp���������ihh��σ�����������nmm�������NNNlkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvv�����������򉈈***������������������PPPihh������������������FEE|{{���������������UTTlkk���������������wvvfee��򿾾���������������������������KKKvuu��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߖ��rqqcbb666��򠟟������������������������������///�����������������������򈇇***���������������������������===zyy������@@@vuu��������򽼼��������������򐏏***������������������nmmUTT��򋊊ihhihhihh���������������ihhihhihh������UTTlkk��������򈇇@@@������������������������������������������������onnIII���UTTlkk�����������������������������ѽ�����vuu��������������Ƴ��ppp������������������������������KKKihhihhTSS������ihhihhihh������NNNlkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kjjUTT��򷵵�����򵳳��������򬫫kjj���}||***��������򈇇������FEE|{{���������������UTT999��������������������򓑑������������������cbb��֮�������򖕕$$$������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVV\\\��򠟟��������򲰰�����������������������������������������򈇇***���������������������������===zyy������///�����������������������������򐏏������������������YXX\\\��򷵵���������wvv999���������������CBBnmm���������������UTT999���������666fee���������������������������������������@@@edd���������322zyy���UTT999���������������������������___�����������������������������������������������������������򯮮��ⷵ����������wvv999������NNNlkk�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򽼼���kjj\\\���������===322������nmm������RQQ���utt������FEE|{{���������������UTTYXX������onn������***UTT������ppp������666///���]]]PPP���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322@@@�����������򠟟$$$������$$$PPP������onn������666999������������������������aaa���������������������������===zyy������TSShgg��������򯮮��������������򐏏NNN���UTT$$$���������������@@@999�����������筬�utt�����򬫫{zz���@@@322������UTTYXX������hgg///������|{{��������������������������򦤤utt���WVV������UTTYXX�����������������������������籰���������������������ᎍ������������������Ӌ�����������utt������cbb������@@@999�����������򵳳666NNN��������򰯯���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������***������������������ihh$$$///vuu��������򿾾YXX===���������___������������999������onn{zzbaa������onn***$$$[ZZ������������~~666$$$\\\������666������������UTT���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TSS///wvv�����򠟟���322$$$hgg������������|{{666$$$fee���������322������������///���yxx///��������������򝜜������===zyy������wvv999��������򂁁$$$��������������򞝝NNN���******������322]]]������������ihh$$$@@@���������///322�����򠟟GFFaaa���������onn{zzbaa������fee$$$$$$onn���������������������UTTonn��������򞝝GFFWVV���������onn{zzbaa��������������򿾾������������ppp@@@�����򫪪������������322|{{�����������򢡡$$$***___������~~322///tss������������ihh$$$@@@���������FEE///�����򄃃===��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򃂂�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򠟟��������������������������������������������������������������������򈇇***���������������������***===$$$zyy��������������⹷���������������������������������������������������������������������������������������������������������������������������������������������������������������������򣡡��������������������������������������������������������򧦦���������999]]]������ppp666�����缻�������������������������������������������������������������������������������NNNlkk���������322���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������WVV�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򠟟�����������������������������������������������������������������������ɨ��������������������������{zz{zz��������򭬬///{zz��������������������������������������������������������������������������������򞝝���������������������������������������������������������������������������������������@@@�����������������������������������������������������������񔒒UTT������������nmmzyy���������������������******yxx��������������������������������������������������򳱱��������򦤤///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ϟ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ѧ����������������������������������������������������������������������������������������������������������������������������ڜ�������������������������������������������������������������������򯮮�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᚙ�|{{���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$$$$\\\***�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򼻻{zz���������\\\999������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===�����򧦦322zyy�����򑐐///���������kjjYXX��������ࠟ�yxx���������������������pppPPP������FEE|{{���������nmmRQQhggPPP�����򥣣322lkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@@@{zz���������[ZZaaa���������������|{{������������������������������___utt���������lkk322���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===\\\������������������tss��Ŝ�������򐏏///���������ihhYXX������322PPP$$$666���������������zyy������{zz������YXX�����򇆆������lkkNNN��򿾾wvv��ɭ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy������FEE$$$�����Ϧ��TSS������322������|{{������������������������������������������[ZZ***�����Ң��|{{������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������wvv999���������{zz322��򐏏///���������ihhYXX��򄃃���������666�����������򾽽���������PPPUTT���������������322utt���������322NNN���uttCBB������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy�����������������򗖖������������������baa$$$���������������************$$$$$$������322������������vuu///���������lkk322������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������IIInnn��������򫪪��琏�///���������ihhYXX���UTTbaa��������򕔔�����������򾽽���������FEE|{{���������������������������feeNNN���***���������hgg�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������얕����������������������������������������===zyy�����������������򏎎���������������������KKK///������������GFF������|{{������������������������RQQIII������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������PPPihh��������򦤤��ꐏ�$$$���������feeYXX���FEEnnn��������򢡡�����������򾽽���������FEE|{{���������������������������aaaNNN���***ihhihhihh666���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������************tss���������������������������===zyy������nmm���������{zz������������������������666FEE��������򙘘��������������������������Ƴ��ppp���������������nnn322���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������}||///���������ihh===��򐏏���������322utt���tss322���������cbb�����������򾽽���������FEE|{{���������������===cbb���������$$$NNN���322���������===yxx���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy���������ihhnmm������������������������������nnn���������999kjj�����������������������������������������������������򸶶hgg}||������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz������������������TSS���yxx�����򐏏FEE���ppp���������YXX���rqq�����������ֈ�����������FEE|{{��������������򞝝utt���NNNNNN������YXX���cbb������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===zyy�����򨧧�����͗�������������������������������򦤤��������򾽽��������������������������ᎍ�������������������qpp322���������uttGFF@@@���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������򾽽WVVGFF��������򞝝NNN���///ppp��������򯮮KKKUTT���322������===������$$$***ihh���___������������999��������򎍍999rqqnnnNNN�����򿾾YXXRQQ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qpp�����������򝜜������===zyy������RQQcbb���������UTTaaa���������������utt������������������������fee999�����������򫪪������������322|{{�����������������������򉈈UTT���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������������������������������������������������������������������򾽽������������������������������������������������uttNNN��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򢡡TSS���������***===$$$zyy������ppp***���������$$$~~���������������RQQKKK�����ꋊ����������������322FEE���������ppp666�����缻����������������������]]]322��񱰰$$$������$$$���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������������������������������������������������������������������ݞ��������������������������������������������������uttNNN���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������UTT������������{zz{zz���������lkkrqq���������������������NNN���������������������������������nmmzyy������cbb�����򪩩]]]tss�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񑐐�����������������������������������������������������������򿾾������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===������NNNtss322���������pppPPP���]]]fee�����򠟟������lkkNNNPPPkjj�����򗖖$$$322������������YXX///���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������___utt������������������������������YXX322���������FEEYXX������������YXX��������򏎎������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������===\\\��������������ߋ��������aaa���������zyy������\\\fee������322PPP�����򲰰�����ʄ��ihh��򼻻rqq��ŕ��������TSS***������fee���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ZZ***�����Ң��|{{���������������������������vuuTSS������PPP999������{zz������ihh$$$�����׋�����������������������������GFF������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz���������������utt***��������������򾽽���������\\\fee��������������򊉉���������666ihh���rqq999���������lkk������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322������������vuu///���]]]************\\\�����������򾽽��������򑐐������===������������TSScbb������������������������������322NNN���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������򾽽===zyy��������򾽽���������\\\fee��������������򂁁@@@���������WVVihh���GFFonn��������򞝝��񻹹ppp���������ihh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RQQIII���\\\$$$���������edd��������������򜛛���������������������������������utt@@@��������򲰰���������������������$$$\\\������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������͉��onn___�����򾽽���������\\\fee��������������򂁁@@@���������YXXihh���NNNihh��������򙘘������KKKihhihhTSS�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ƴ��ppp������������������������������������|{{999�����������������򄃃������������322ppp�����������򛚚���������������������wvv���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������������������������򾽽���������\\\fee��������������򂁁@@@���������YXXihh���{zz///���������YXX��������������򯮮���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tss322������������������������onnFEE������������������IIInnn���FEE������������������zyy�����������������򰯯�����������񚙙baa���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz������������������cbb���ihh�����ֈ�����������\\\fee��筬�utt�����򂁁@@@���������YXXihh������TSS���onn������utt������cbb��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᎍ������������������������������������򎍍$$$������������������aaahggaaa///aaa������������������������666fee������������������onn***�����򕓓�***}||���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������򳱱@@@999�����򨧧$$$***ihh���tss|{{���///322��򓑑\\\���������ppp~~�����򲰰KKKUTT������������~~322///tss�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򫪪������������322|{{��������򠟟��������������������򯮮��������򹷷������wvvihh�����������������򵳳������������vuu322������qpp��������򮭭������NNN�����򦤤322���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz��������������������������������������򾽽��������������������������������������������������������������������򬫫���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ppp666�����缻����������������cbb@@@���������������������322YXX������666TSS�����򌋋GFF������������������������������322cbb������zyy������[ZZ$$$������zyyIII���YXXaaa���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������==={zz�����������������������������������������ݞ�����������===FEE�����򞝝�����������������������������������������������򬫫������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nmmzyy������������������322������������������������FEEYXX��������򢡡��������򠟟PPP������������//////�����������펍�YXX��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򮭭��������������������������������������������������������������ԙ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEEUTT===utt������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������yxx��������򕓓��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򿾾FEEonn���������NNNtss322��������򁀀$$$���������$$$���������������������{zz������������������UTTKKK���������������999fee�����꯮�{zz���������������YXX///�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򊉉***�����������򧦦***///������������������������������������������666$$$�����������������������򳱱///���������������___utt������YXX322������������������UTTkjj���������������������������aaa@@@���������������������������������������������aaa@@@��������򤢢���������������������aaa@@@�����������򳱱///���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEE�����ϙ��\\\��򋊊������aaa�����򕓓������yxx������$$$�����������������򍌌�����̐����������������򧦦���������������������baaGFF322666������TSS***������fee�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򾽽������ihh�����򸶶lkk������baa��������搏�������������������������***FEE������aaa��������Ҕ�����������aaa��͕�����������[ZZ***�����Ң��|{{���vuuTSS������������������UTTkjj�����������������������򉈈������CBBCBB��������������������������������������򉈈������CBBCBB���������///nmm��������������򉈈������CBBCBB���������aaa��͕�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\\\$$$�����������򢡡���utt***���������������===ppp��������𗖖������$$$������������������666~~������������������������������������������vuu$$$������������ihh���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������NNNGFF���������$$$zyy���rqq///���������������򱰰������������������������///������������������{zz�����򈇇���������WVV===������322������������vuu///�����������򓑑***************��������������������������������������������������������������������������������������������򤢢��������������������������������򈇇���������WVV===������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$�����������������������񾽽===zyy������������������������������$$$������������������322���������hgg������������������YXXnnn��򏎎������������������ppp���������ihh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$$$������������kjjTSS���{zz$$$��������������������ꢡ����������������������������������������666|{{�����ڤ��������cbb[ZZ��������򣡡���������������������RQQIII�����������򖕕���������666CBB������������������������������������***�����������������򧦦������������������������������***������������322nmm������������������������***������cbb[ZZ��������򣡡�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������͉��onn___���������������������������$$$������������������ihhihhihh�����������������򿾾�����ʡ�������򂁁///������������������KKKihhihhTSS�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򆅅***������UTT������KKK������������������������������������nmm������������������������������@@@vuu��������򽼼��������������Ƴ��ppp������������������***~~������WVVkjj��������������������򲰰������������KKKlkk���������������UTT*********===��򲰰������������KKKlkk��������򧦦��������򲰰������������KKKlkk���@@@vuu��������򽼼���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@@@aaa���������kjj������$$$cbb�����򷵵������CBBnmm������������������������������///�����򁀀===�����򫪪��������򝜜��������������򯮮�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򑐐������������������������������������������������������***322������������������///�����������������������������������������������򫪪������WVVkjj��������������������򦤤������������WVV]]]��������������������������������򦤤������������WVV]]]������������666onn�����򦤤������������WVV]]]���///������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cbb���ihh�����򧦦rqq���TSS������$$$����999�����򬫫{zz���@@@322��������������������򆅅===���***������������///999������������utt������cbb������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������wvvCBB������666RQQ������GFF===���������������������������������������KKK322ppp���������������������TSShgg��������򯮮�����������������ᎍ����������������������NNNRQQ���WVVkjj������������������������������������999�������������������������������������������������999������������򩨨���������������������999����TSShgg��������򯮮������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FEETSS�����������򾽽@@@�����򳱱@@@999�����������򠟟IIIIII���������$$$���WVV@@@�����������򠟟GFFaaa���������������������������������������������\\\===���///���������~~322///tss���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������999tss���������GFFhgg���������������������������������qpp���������������999��������������������򜛛$$$������wvv999��������򂁁$$$�����򫪪������������322|{{������������������������WVVkjj������qpp������������������������������������������������������������������������������������������������999nnn������������������������wvv999��������򂁁$$$�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򳱱nnn�����㵳�///TSS���������������������������������������������������$$$���������������������������������������������������������������GFFYXX�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򘗗�����䑐�������������������utt���������aaa�����򢡡TSS���������RQQ{zz�����������������򵳳baa��������������⹷����������ppp666�����缻������������������������򜛛322kjj�����򢡡TSS���������___***������cbb$$$���������������������������������������___***������cbb$$$�����������������ю��������___***������cbb$$$��������������⹷������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򷵵FEEutt������������������������������������������������������$$$��������������������������������������������������������������򞝝�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򃂂***�����������򸶶///666���������������������������UTT���������ihh��������������������򭬬///{zz������������nmmzyy���������������������������cbbkjj������������UTT������������___@@@���������������������������������������������___@@@�����򝜜���������___@@@�����������򭬬///{zz�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򣡡������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������kkk[[[[[[[[[~~~���������������]]][[[]]]�����������􁁁[[[[[[ppp������������������������ggg[[[]]]���������������rrr[[[[[[zzz���������ddd[[[[[[���[[[���������rrr[[[������]]]������������```[[[ggg���������~~~������������bbb���������������������[[[[[[[[[ddd������������������]]][[[bbb���[[[���������ddd[[[������xxx[[[[[[���ggg������������������ggg������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff������������xxxffffff���fff���������fff���������hhh������������������������������hhh������������ffffffyyy������������vvv���������ffffff~~~{{{������������jjjfffhhh������������ffffffhhh������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[mmm�����⺺�]]]kkk���������[[[�����߫��[[[������}}}```������yyy```������������������[[[�����ٵ��[[[���������bbbsss������bbb������zzzggg������iii[[[���������[[[���������]]]���������[[[�����ٖ��[[[������}}}������������bbb���������������������ddd�����ɧ��rrr[[[���������[[[���������]]][[[���������```���������[[[�����܆��[[[���������������������{{{������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff������������jjj�����恁�fff���������fff���������fffjjj������������������������fffjjj���������fff���������fff���������uuu������fff�����켼�fff���������fff���������fff������hhh���������fff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������```���������������[[[������iii���������������������[[[������������[[[������������������kkk������������ggg������[[[�����������ڮ�����iii������������[[[���������```���������]]]������kkk������������nnn������}}}������������bbb���������������������mmm������������zzz[[[������[[[������������[[[������xxx������������bbb���������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff������������sss���������fff������ooo���uuu���������fff������������������������������������fff���������������������uuu������fff���������vvv������������������������������������������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������������```������[[[ggg������������������[[[������������iii���������������ttt���������������[[[������ddd���������������������[[[yyy������[[[���������bbb���������]]]������[[[���������������ppp���}}}������������bbb���������������������mmm���������������[[[������{{{]]]������mmm[[[������xxx������������[[[mmm������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff������������sssfffsssmmmfff������fff���hhh���xxx��΅�����������������������uuu������fff���������fffjjjxxxfff���������uuu������hhh������������������ffffffvvvvvvvvvfff��������؈��ffffff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������``````[[[������[[[[[[���������[[[������[[[������������ddd���������������yyy���������������[[[������bbb�����������������������Ξ�����nnn[[[���������bbb���������]]]������[[[���������������ttt���}}}������������```���������������������mmm���������������]]]������������������[[[[[[������xxx��������������দ�������[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff��������������������ٺ��fff��丸�xxx���������fff���������������������������fff������ooo������������������fff���������uuu������hhh������������������~~~uuu���������fff������fff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[�����������ٹ��������������ppp������������[[[������[[[������������[[[������������������ddd������������mmm������[[[�������������������������������[[[���������bbb���������]]]������nnn������������ggg������}}}iii���������[[[���������������������mmm���������������ddd���������������������]]]������xxx������������������������]]]������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff�����������܄�����������fff���������������fff���������fff������������������~~~���������yyy���������������mmm���������uuu������hhh���������������������hhh���������fff������fff��������م��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������������������������[[[������nnnggg���������[[[������iiikkk������������������]]]{{{������[[[���������mmmggg������]]]���������[[[������ttt]]]�����ن��]]]���������]]]���������[[[������~~~[[[������}}}[[[������yyy[[[���������������������mmm���������������[[[���������]]]������bbb}}}������iiixxx���������[[[���������[[[������������������mmm[[[������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fff���fff���������fffhhhfff������fff���������fff���������fff���������������jjj������������fff������hhhffffffooo���������uuu������hhh������������������������fffffffff������������fffooofff���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tttxxx���������������zzz������������sss]]]������������������iii```���������������������������~~~]]]sss��������������싋�```ddd���������������ggg]]]sss���������]]][[[ddd������mmm������������sss]]]~~~������������������```bbb������������������������mmm���������������[[[��������󐐐bbb```���������rrr[[[[[[ddd���������nnn]]]kkk���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uuu���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[[[������������~~~```������������������������������������������������������������������������������������������������������������������������������������������bbb���������������������������������������������������������������������������������ggg��������ɜ��[[[���������������������������������xxx���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uuu������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxx[[[[[[[[[}}}���������������������������������������������������������������������������������������������������������������������������������������������������������[[[���������������������������������������������������������������������[[[[[[[[[ddd���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򻹹������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������IIIPPPFEE������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}||�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ɪ����������������������羾���������������������۬�������������������������ԯ����������������������ⱱ������������������㪪������������㪪������������羾������������������㪪���������罽���������羽���������������������ڪ�������������������������ͬ�������������������ʪ����������������媪���������尰���������Ҫ����������ۯ����������������羽������������⪪������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򾽽���������322���������{zz������������pppPPP�����򿾾FEEonn������������$$$|{{������������������WVVnmm������������{zz������������������������������pppPPP���==={zz��������������������򧦦322zyy���������onn������������������pppPPP���]]]fee�����򧦦322zyy�����򑐐///���������kjjYXX��������������������������������������������������������������������������������������������������������������ʪ�������������������������Ǫ����������Ǭ�������翿������������������������۪�������������Ȫ����������Ī�������ߵ����������㪪������������㪪������������Ǫ����������Ǭ�������㪪���������缼���������㪪���������������������۪����������������������ت����������̪�������䭭���������ت�������媪���������Ҫ����������Ҫ�������䬬���������֬�������羽������������⪪���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򚙙999CBB$$$$$$�����򍌌�����̐�����������zyy���������FEE�����ϙ��\\\������===666������322������������������UTTnmm��������򍌌�����̐�����������������������������zyy������==={zz���������������������tss��Ŝ�������򜛛�����ژ�����������������zyy������\\\fee������tss��Ŝ�������򐏏///���������ihhYXX�����������������������������������������������������������������������������������������������������������第���������������緷������糳���������������������繸���������������������繸������������������ƾ����纺������������ت�������㪪������������㪪���������糳���������������������㪪���������缼���������ު����������������������۪����������������������Į����������緷������������������Ǫ�������媪���������˪����������Ҫ�������֪�������������Ȭ����羽������������⪪����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rqq�����򡠠������666~~�����������������򾽽���������\\\$$$�����������򢡡��������������򫪪������������������UTTnmm���������666~~�����������������������������������򾽽���������==={zz������������������wvv999���������{zz322�����������������������������򾽽���������\\\fee���wvv999���������{zz322��򐏏///���������ihhYXX�����������������������������������������������������������������������������������������������������������ު����������������ȷ�������窪���������������������繸���������������������箮������������������������繸������������ݪ�������㪪������������㪪���������窪���������������������㪪���������缼���������ު����������������������۪�������������������繹������������翿���������հ����������������媪���������˪����������Ҫ�������̪�������������Ҫ����侽������������⪪����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������322���������hgg�����򾽽���������$$$���������������������������������������������������������UTTnmm���������322���������hgg�����������������������򾽽���������***$$$������������������IIInnn��������򫪪��������ᕓ�RQQ///�����������򾽽���������\\\fee���IIInnn��������򫪪��琏�///���������ihhYXX�����������������������������������������������������������������������������������������������������������ժ����������紴������������紴������������ت�������繸���������������������窪������������������������繸������������ݪ�������㪪������������㪪���������紴������������ت�������㪪���������絵���������ު����������������������۪�������ʾ�������������Ĭ����������絵������第������������������媪���������˪����������Ҫ�������ت�������������Ƭ����羽������������٪�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򸶶������������***������ihhihhihh�����򾽽������������������������������������������������������������������UTTlkk���������ihhihhihh�����������������������򾽽���������$$$������PPPihh��������򦤤������$$$fee�����������������򾽽���������\\\fee���PPPihh��������򦤤��ꐏ�$$$���������feeYXX�����������������������������������������������������������������������������������������������������������ߪ����������������������������ͪ�������ֲ����������޵����������������������筭������������������������繸������������ݪ�������㪪������������㪪������������ͪ�������ֲ����������㪪���������̪����������Ӫ����������������������۪�������������ժ�������۪����������Ū�������篯���������˪�������媪���������ª����������Ҫ�������孭���������Ϫ�������羽���������ֶ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������CBBnmm��������������򾽽������������������������������������������������������utt���������UTT999���������CBBnmm���������������tss�����򧦦�����򾽽���������==={zz������322666���}||///���������ihh===��򭬬�����������������������򾽽���������\\\fee���}||///���������ihh===��򐏏���������322utt�����������������������������������������������������������������������������������������������������������第������������������ž����������Ǯ�������������繹������������������������緶������������������ƻ����羾������������ެ�������䬬������������䬬���������������Ǯ����������������䬬���­�������������ڬ�������������������������۪�������������ߪ����������Ա�������������������ٱ����������������嬬������ɪ�������������Ԭ����������޵�������������������·�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ZZ������322�����򬫫{zz���@@@322�����ֈ��������������������������������������������������������wvv������UTTYXX�����ڬ��{zz���@@@322������������322GFF�����ֈ�����������==={zz��������򘗗������TSS���yxx���������{zz���edd�����������ֈ�����������\\\fee������TSS���yxx�����򐏏FEE���ppp�����������������������������������������������������������������������������������������������������������������ê�������������Ѫ�������������������������������繸������������������������Ҫ�������������Ԫ����������������������������������������������������������������������������������������������������������ު����������������������۪����������຺���������������������������������������������������������������˪�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������onn$$$***���TSS��������򠟟GFFaaa�����򨧧$$$***ihh���FEETSS�����������򾽽@@@������322������������///������666���GFF���onn{zzbaa�����򠟟GFFaaa���������666���RQQ===�����򨧧$$$***ihh���==={zz��������򞝝�����򾽽WVVGFF�����������򭬬===@@@���������===������$$$***ihh���tss|{{�����򾽽WVVGFF��������򞝝NNN���///ppp�����������������������������������������������������������������������������������������������������������������緷������������������������������������������������ÿ�������������������������ª����������������������������������������������������������������������������������������������������������������������ర���������������������۪����������������������������������������������������������������ᯯ���������ѳ����������Ӱ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򾽽��������򳱱nnn�����㵳�///TSS�����������������������������������������������������������������������������������������������������������򾽽���������322WVV�����Ϣ��322@@@�����������������������������������������������������������򾽽�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ᱱ���������������������Ա����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ݞ�������������򷵵FEEutt�����������������������������������������������������������������������������������������������������������������ݞ�����������***onn��������������������������������������������������������������ݞ�����������===FEE�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������񑐐��������������������򮭭�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��򈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������с��������www���www�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򦥥���������������������������������������������������������������������������������������������������������������www���www������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}}}yyywww���������������������������������������������������{{{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򇇇��������ڡ�����������www��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������򦥥��������������������������������������������������������������������������������������������������������������ڡ�����������www��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƪ�����������www�����������������������������������������������򢢢����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ȡ��&�u�u�u�u�u�u�u�u�u��&�ȡ�����������������������������������������򣡡������������///������������FEE���������FEERQQ�����򠟟���������{zzIII��������������򱰰������������������������[ZZCBB��������򖕕nmm������]]]fee�����򠟟��򖕕$$$���������CBBWVV��������������������������������������������򖕕nmm���������������s�?s�?���������������]q�<�������ys�?q� { - document.querySelector('#twotabsearchtextbox').value = 'Samsung Galaxy Tab'; - document.querySelector('#nav-search-submit-button').click(); - } - await task(); - """ - js_code_to_search_sync = """ - document.querySelector('#twotabsearchtextbox').value = 'Samsung Galaxy Tab'; - document.querySelector('#nav-search-submit-button').click(); - """ - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - js_code=js_code_to_search, - wait_for='css:[data-component-type="s-search-result"]', - extraction_strategy=JsonCssExtractionStrategy( - schema={ - "name": "Amazon Product Search Results", - "baseSelector": "[data-component-type='s-search-result']", - "fields": [ - { - "name": "asin", - "selector": "", - "type": "attribute", - "attribute": "data-asin", - }, - {"name": "title", "selector": "h2 a span", "type": "text"}, - { - "name": "url", - "selector": "h2 a", - "type": "attribute", - "attribute": "href", - }, - { - "name": "image", - "selector": ".s-image", - "type": "attribute", - "attribute": "src", - }, - { - "name": "rating", - "selector": ".a-icon-star-small .a-icon-alt", - "type": "text", - }, - { - "name": "reviews_count", - "selector": "[data-csa-c-func-deps='aui-da-a-popover'] ~ span span", - "type": "text", - }, - { - "name": "price", - "selector": ".a-price .a-offscreen", - "type": "text", - }, - { - "name": "original_price", - "selector": ".a-price.a-text-price .a-offscreen", - "type": "text", - }, - { - "name": "sponsored", - "selector": ".puis-sponsored-label-text", - "type": "exists", - }, - { - "name": "delivery_info", - "selector": "[data-cy='delivery-recipe'] .a-color-base", - "type": "text", - "multiple": True, - }, - ], - } - ), - ) - - # Example search URL (you should replace with your actual Amazon URL) - url = "https://www.amazon.com/" - - # Use context manager for proper resource handling - async with AsyncWebCrawler(config=browser_config) as crawler: - # Extract the data - result = await crawler.arun(url=url, config=crawler_config) - - # Process and print the results - if result and result.extracted_content: - # Parse the JSON string into a list of products - products = json.loads(result.extracted_content) - - # Process each product in the list - for product in products: - print("\nProduct Details:") - print(f"ASIN: {product.get('asin')}") - print(f"Title: {product.get('title')}") - print(f"Price: {product.get('price')}") - print(f"Original Price: {product.get('original_price')}") - print(f"Rating: {product.get('rating')}") - print(f"Reviews: {product.get('reviews_count')}") - print(f"Sponsored: {'Yes' if product.get('sponsored') else 'No'}") - if product.get("delivery_info"): - print(f"Delivery: {' '.join(product['delivery_info'])}") - print("-" * 80) - - -if __name__ == "__main__": - import asyncio - - asyncio.run(extract_amazon_products()) - -``` - - -## File: docs/examples/arun_vs_arun_many.py - -```py -import asyncio -import time -from crawl4ai.async_webcrawler import AsyncWebCrawler, CacheMode -from crawl4ai.async_configs import CrawlerRunConfig -from crawl4ai.async_dispatcher import MemoryAdaptiveDispatcher, RateLimiter - -VERBOSE = False - -async def crawl_sequential(urls): - config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS, verbose=VERBOSE) - results = [] - start_time = time.perf_counter() - async with AsyncWebCrawler() as crawler: - for url in urls: - result_container = await crawler.arun(url=url, config=config) - results.append(result_container[0]) - total_time = time.perf_counter() - start_time - return total_time, results - -async def crawl_parallel_dispatcher(urls): - config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS, verbose=VERBOSE) - # Dispatcher with rate limiter enabled (default behavior) - dispatcher = MemoryAdaptiveDispatcher( - rate_limiter=RateLimiter(base_delay=(1.0, 3.0), max_delay=60.0, max_retries=3), - max_session_permit=50, - ) - start_time = time.perf_counter() - async with AsyncWebCrawler() as crawler: - result_container = await crawler.arun_many(urls=urls, config=config, dispatcher=dispatcher) - results = [] - if isinstance(result_container, list): - results = result_container - else: - async for res in result_container: - results.append(res) - total_time = time.perf_counter() - start_time - return total_time, results - -async def crawl_parallel_no_rate_limit(urls): - config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS, verbose=VERBOSE) - # Dispatcher with no rate limiter and a high session permit to avoid queuing - dispatcher = MemoryAdaptiveDispatcher( - rate_limiter=None, - max_session_permit=len(urls) # allow all URLs concurrently - ) - start_time = time.perf_counter() - async with AsyncWebCrawler() as crawler: - result_container = await crawler.arun_many(urls=urls, config=config, dispatcher=dispatcher) - results = [] - if isinstance(result_container, list): - results = result_container - else: - async for res in result_container: - results.append(res) - total_time = time.perf_counter() - start_time - return total_time, results - -async def main(): - urls = ["https://example.com"] * 100 - print(f"Crawling {len(urls)} URLs sequentially...") - seq_time, seq_results = await crawl_sequential(urls) - print(f"Sequential crawling took: {seq_time:.2f} seconds\n") - - print(f"Crawling {len(urls)} URLs in parallel using arun_many with dispatcher (with rate limit)...") - disp_time, disp_results = await crawl_parallel_dispatcher(urls) - print(f"Parallel (dispatcher with rate limiter) took: {disp_time:.2f} seconds\n") - - print(f"Crawling {len(urls)} URLs in parallel using dispatcher with no rate limiter...") - no_rl_time, no_rl_results = await crawl_parallel_no_rate_limit(urls) - print(f"Parallel (dispatcher without rate limiter) took: {no_rl_time:.2f} seconds\n") - - print("Crawl4ai - Crawling Comparison") - print("--------------------------------------------------------") - print(f"Sequential crawling took: {seq_time:.2f} seconds") - print(f"Parallel (dispatcher with rate limiter) took: {disp_time:.2f} seconds") - print(f"Parallel (dispatcher without rate limiter) took: {no_rl_time:.2f} seconds") - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/async_webcrawler_multiple_urls_example.py - -```py -# File: async_webcrawler_multiple_urls_example.py -import os, sys - -# append 2 parent directories to sys.path to import crawl4ai -parent_dir = os.path.dirname( - os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -) -sys.path.append(parent_dir) - -import asyncio -from crawl4ai import AsyncWebCrawler - - -async def main(): - # Initialize the AsyncWebCrawler - async with AsyncWebCrawler(verbose=True) as crawler: - # List of URLs to crawl - urls = [ - "https://example.com", - "https://python.org", - "https://github.com", - "https://stackoverflow.com", - "https://news.ycombinator.com", - ] - - # Set up crawling parameters - word_count_threshold = 100 - - # Run the crawling process for multiple URLs - results = await crawler.arun_many( - urls=urls, - word_count_threshold=word_count_threshold, - bypass_cache=True, - verbose=True, - ) - - # Process the results - for result in results: - if result.success: - print(f"Successfully crawled: {result.url}") - print(f"Title: {result.metadata.get('title', 'N/A')}") - print(f"Word count: {len(result.markdown.split())}") - print( - f"Number of links: {len(result.links.get('internal', [])) + len(result.links.get('external', []))}" - ) - print(f"Number of images: {len(result.media.get('images', []))}") - print("---") - else: - print(f"Failed to crawl: {result.url}") - print(f"Error: {result.error_message}") - print("---") - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/browser_optimization_example.py - -```py -""" -This example demonstrates optimal browser usage patterns in Crawl4AI: -1. Sequential crawling with session reuse -2. Parallel crawling with browser instance reuse -3. Performance optimization settings -""" - -import asyncio -from typing import List -from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig -from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator - - -async def crawl_sequential(urls: List[str]): - """ - Sequential crawling using session reuse - most efficient for moderate workloads - """ - print("\n=== Sequential Crawling with Session Reuse ===") - - # Configure browser with optimized settings - browser_config = BrowserConfig( - headless=True, - browser_args=[ - "--disable-gpu", # Disable GPU acceleration - "--disable-dev-shm-usage", # Disable /dev/shm usage - "--no-sandbox", # Required for Docker - ], - viewport={ - "width": 800, - "height": 600, - }, # Smaller viewport for better performance - ) - - # Configure crawl settings - crawl_config = CrawlerRunConfig( - markdown_generator=DefaultMarkdownGenerator( - # content_filter=PruningContentFilter(), In case you need fit_markdown - ), - ) - - # Create single crawler instance - crawler = AsyncWebCrawler(config=browser_config) - await crawler.start() - - try: - session_id = "session1" # Use same session for all URLs - for url in urls: - result = await crawler.arun( - url=url, - config=crawl_config, - session_id=session_id, # Reuse same browser tab - ) - if result.success: - print(f"Successfully crawled {url}") - print(f"Content length: {len(result.markdown.raw_markdown)}") - finally: - await crawler.close() - - -async def crawl_parallel(urls: List[str], max_concurrent: int = 3): - """ - Parallel crawling while reusing browser instance - best for large workloads - """ - print("\n=== Parallel Crawling with Browser Reuse ===") - - browser_config = BrowserConfig( - headless=True, - browser_args=["--disable-gpu", "--disable-dev-shm-usage", "--no-sandbox"], - viewport={"width": 800, "height": 600}, - ) - - crawl_config = CrawlerRunConfig( - markdown_generator=DefaultMarkdownGenerator( - # content_filter=PruningContentFilter(), In case you need fit_markdown - ), - ) - - # Create single crawler instance for all parallel tasks - crawler = AsyncWebCrawler(config=browser_config) - await crawler.start() - - try: - # Create tasks in batches to control concurrency - for i in range(0, len(urls), max_concurrent): - batch = urls[i : i + max_concurrent] - tasks = [] - - for j, url in enumerate(batch): - session_id = ( - f"parallel_session_{j}" # Different session per concurrent task - ) - task = crawler.arun(url=url, config=crawl_config, session_id=session_id) - tasks.append(task) - - # Wait for batch to complete - results = await asyncio.gather(*tasks, return_exceptions=True) - - # Process results - for url, result in zip(batch, results): - if isinstance(result, Exception): - print(f"Error crawling {url}: {str(result)}") - elif result.success: - print(f"Successfully crawled {url}") - print(f"Content length: {len(result.markdown.raw_markdown)}") - finally: - await crawler.close() - - -async def main(): - # Example URLs - urls = [ - "https://example.com/page1", - "https://example.com/page2", - "https://example.com/page3", - "https://example.com/page4", - ] - - # Demo sequential crawling - await crawl_sequential(urls) - - # Demo parallel crawling - await crawl_parallel(urls, max_concurrent=2) - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/builtin_browser_example.py - -```py -#!/usr/bin/env python3 -""" -Builtin Browser Example - -This example demonstrates how to use Crawl4AI's builtin browser feature, -which simplifies the browser management process. With builtin mode: - -- No need to manually start or connect to a browser -- No need to manage CDP URLs or browser processes -- Automatically connects to an existing browser or launches one if needed -- Browser persists between script runs, reducing startup time -- No explicit cleanup or close() calls needed - -The example also demonstrates "auto-starting" where you don't need to explicitly -call start() method on the crawler. -""" - -import asyncio -from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode -import time - -async def crawl_with_builtin_browser(): - """ - Simple example of crawling with the builtin browser. - - Key features: - 1. browser_mode="builtin" in BrowserConfig - 2. No explicit start() call needed - 3. No explicit close() needed - """ - print("\n=== Crawl4AI Builtin Browser Example ===\n") - - # Create a browser configuration with builtin mode - browser_config = BrowserConfig( - browser_mode="builtin", # This is the key setting! - headless=True # Can run headless for background operation - ) - - # Create crawler run configuration - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, # Skip cache for this demo - screenshot=True, # Take a screenshot - verbose=True # Show verbose logging - ) - - # Create the crawler instance - # Note: We don't need to use "async with" context manager - crawler = AsyncWebCrawler(config=browser_config) - - # Start crawling several URLs - no explicit start() needed! - # The crawler will automatically connect to the builtin browser - print("\n➡️ Crawling first URL...") - t0 = time.time() - result1 = await crawler.arun( - url="https://crawl4ai.com", - config=crawler_config - ) - t1 = time.time() - print(f"✅ First URL crawled in {t1-t0:.2f} seconds") - print(f" Got {len(result1.markdown.raw_markdown)} characters of content") - print(f" Title: {result1.metadata.get('title', 'No title')}") - - # Try another URL - the browser is already running, so this should be faster - print("\n➡️ Crawling second URL...") - t0 = time.time() - result2 = await crawler.arun( - url="https://example.com", - config=crawler_config - ) - t1 = time.time() - print(f"✅ Second URL crawled in {t1-t0:.2f} seconds") - print(f" Got {len(result2.markdown.raw_markdown)} characters of content") - print(f" Title: {result2.metadata.get('title', 'No title')}") - - # The builtin browser continues running in the background - # No need to explicitly close it - print("\n🔄 The builtin browser remains running for future use") - print(" You can use 'crwl browser status' to check its status") - print(" or 'crwl browser stop' to stop it when completely done") - -async def main(): - """Run the example""" - await crawl_with_builtin_browser() - -if __name__ == "__main__": - asyncio.run(main()) -``` - - -## File: docs/examples/chainlit.md - -```md -# Welcome to Crawl4AI! 🚀🤖 - -Hi there, Developer! 👋 Here is an example of a research pipeline, where you can share a URL in your conversation with any LLM, and then the context of crawled pages will be used as the context. -``` - - -## File: docs/examples/crawler_monitor_example.py - -```py -""" -CrawlerMonitor Example - -This example demonstrates how to use the CrawlerMonitor component -to visualize and track web crawler operations in real-time. -""" - -import time -import uuid -import random -import threading -from crawl4ai.components.crawler_monitor import CrawlerMonitor -from crawl4ai.models import CrawlStatus - -def simulate_webcrawler_operations(monitor, num_tasks=20): - """ - Simulates a web crawler's operations with multiple tasks and different states. - - Args: - monitor: The CrawlerMonitor instance - num_tasks: Number of tasks to simulate - """ - print(f"Starting simulation with {num_tasks} tasks...") - - # Create and register all tasks first - task_ids = [] - for i in range(num_tasks): - task_id = str(uuid.uuid4()) - url = f"https://example.com/page{i}" - monitor.add_task(task_id, url) - task_ids.append((task_id, url)) - - # Small delay between task creation - time.sleep(0.2) - - # Process tasks with a variety of different behaviors - threads = [] - for i, (task_id, url) in enumerate(task_ids): - # Create a thread for each task - thread = threading.Thread( - target=process_task, - args=(monitor, task_id, url, i) - ) - thread.daemon = True - threads.append(thread) - - # Start threads in batches to simulate concurrent processing - batch_size = 4 # Process 4 tasks at a time - for i in range(0, len(threads), batch_size): - batch = threads[i:i+batch_size] - for thread in batch: - thread.start() - time.sleep(0.5) # Stagger thread start times - - # Wait a bit before starting next batch - time.sleep(random.uniform(1.0, 3.0)) - - # Update queue statistics - update_queue_stats(monitor) - - # Simulate memory pressure changes - active_threads = [t for t in threads if t.is_alive()] - if len(active_threads) > 8: - monitor.update_memory_status("CRITICAL") - elif len(active_threads) > 4: - monitor.update_memory_status("PRESSURE") - else: - monitor.update_memory_status("NORMAL") - - # Wait for all threads to complete - for thread in threads: - thread.join() - - # Final updates - update_queue_stats(monitor) - monitor.update_memory_status("NORMAL") - - print("Simulation completed!") - -def process_task(monitor, task_id, url, index): - """Simulate processing of a single task.""" - # Tasks start in queued state (already added) - - # Simulate waiting in queue - wait_time = random.uniform(0.5, 3.0) - time.sleep(wait_time) - - # Start processing - move to IN_PROGRESS - monitor.update_task( - task_id=task_id, - status=CrawlStatus.IN_PROGRESS, - start_time=time.time(), - wait_time=wait_time - ) - - # Simulate task processing with memory usage changes - total_process_time = random.uniform(2.0, 10.0) - step_time = total_process_time / 5 # Update in 5 steps - - for step in range(5): - # Simulate increasing then decreasing memory usage - if step < 3: # First 3 steps - increasing - memory_usage = random.uniform(5.0, 20.0) * (step + 1) - else: # Last 2 steps - decreasing - memory_usage = random.uniform(5.0, 20.0) * (5 - step) - - # Update peak memory if this is higher - peak = max(memory_usage, monitor.get_task_stats(task_id).get("peak_memory", 0)) - - monitor.update_task( - task_id=task_id, - memory_usage=memory_usage, - peak_memory=peak - ) - - time.sleep(step_time) - - # Determine final state - 80% success, 20% failure - if index % 5 == 0: # Every 5th task fails - monitor.update_task( - task_id=task_id, - status=CrawlStatus.FAILED, - end_time=time.time(), - memory_usage=0.0, - error_message="Connection timeout" - ) - else: - monitor.update_task( - task_id=task_id, - status=CrawlStatus.COMPLETED, - end_time=time.time(), - memory_usage=0.0 - ) - -def update_queue_stats(monitor): - """Update queue statistics based on current tasks.""" - task_stats = monitor.get_all_task_stats() - - # Count queued tasks - queued_tasks = [ - stats for stats in task_stats.values() - if stats["status"] == CrawlStatus.QUEUED.name - ] - - total_queued = len(queued_tasks) - - if total_queued > 0: - current_time = time.time() - # Calculate wait times - wait_times = [ - current_time - stats.get("enqueue_time", current_time) - for stats in queued_tasks - ] - highest_wait_time = max(wait_times) if wait_times else 0.0 - avg_wait_time = sum(wait_times) / len(wait_times) if wait_times else 0.0 - else: - highest_wait_time = 0.0 - avg_wait_time = 0.0 - - # Update monitor - monitor.update_queue_statistics( - total_queued=total_queued, - highest_wait_time=highest_wait_time, - avg_wait_time=avg_wait_time - ) - -def main(): - # Initialize the monitor - monitor = CrawlerMonitor( - urls_total=20, # Total URLs to process - refresh_rate=0.5, # Update UI twice per second - enable_ui=True, # Enable terminal UI - max_width=120 # Set maximum width to 120 characters - ) - - # Start the monitor - monitor.start() - - try: - # Run simulation - simulate_webcrawler_operations(monitor) - - # Keep monitor running a bit to see final state - print("Waiting to view final state...") - time.sleep(5) - - except KeyboardInterrupt: - print("\nExample interrupted by user") - finally: - # Stop the monitor - monitor.stop() - print("Example completed!") - - # Print some statistics - summary = monitor.get_summary() - print("\nCrawler Statistics Summary:") - print(f"Total URLs: {summary['urls_total']}") - print(f"Completed: {summary['urls_completed']}") - print(f"Completion percentage: {summary['completion_percentage']:.1f}%") - print(f"Peak memory usage: {summary['peak_memory_percent']:.1f}%") - - # Print task status counts - status_counts = summary['status_counts'] - print("\nTask Status Counts:") - for status, count in status_counts.items(): - print(f" {status}: {count}") - -if __name__ == "__main__": - main() -``` - - -## File: docs/examples/crypto_analysis_example.py - -```py -""" -Crawl4AI Crypto Trading Analysis Demo -Author: Unclecode -Date: 2024-03-15 - -This script demonstrates advanced crypto market analysis using: -1. Web scraping of real-time CoinMarketCap data -2. Smart table extraction with layout detection -3. Hedge fund-grade financial metrics -4. Interactive visualizations for trading signals - -Key Features: -- Volume Anomaly Detection: Finds unusual trading activity -- Liquidity Power Score: Identifies easily tradable assets -- Volatility-Weighted Momentum: Surface sustainable trends -- Smart Money Signals: Algorithmic buy/hold recommendations -""" - -import asyncio -import pandas as pd -import numpy as np -import re -import plotly.express as px -from crawl4ai import ( - AsyncWebCrawler, - BrowserConfig, - CrawlerRunConfig, - CacheMode, - LXMLWebScrapingStrategy, -) -from crawl4ai import CrawlResult -from typing import List - -__current_dir__ = __file__.rsplit("/", 1)[0] - -class CryptoAlphaGenerator: - """ - Advanced crypto analysis engine that transforms raw web data into: - - Volume anomaly flags - - Liquidity scores - - Momentum-risk ratios - - Machine learning-inspired trading signals - - Methods: - analyze_tables(): Process raw tables into trading insights - create_visuals(): Generate institutional-grade visualizations - generate_insights(): Create plain English trading recommendations - """ - - def clean_data(self, df: pd.DataFrame) -> pd.DataFrame: - """ - Convert crypto market data to machine-readable format. - Handles currency symbols, units (B=Billions), and percentage values. - """ - # Make a copy to avoid SettingWithCopyWarning - df = df.copy() - - # Clean Price column (handle currency symbols) - df["Price"] = df["Price"].astype(str).str.replace("[^\d.]", "", regex=True).astype(float) - - # Handle Market Cap and Volume, considering both Billions and Trillions - def convert_large_numbers(value): - if pd.isna(value): - return float('nan') - value = str(value) - multiplier = 1 - if 'B' in value: - multiplier = 1e9 - elif 'T' in value: - multiplier = 1e12 - # Handle cases where the value might already be numeric - cleaned_value = re.sub(r"[^\d.]", "", value) - return float(cleaned_value) * multiplier if cleaned_value else float('nan') - - df["Market Cap"] = df["Market Cap"].apply(convert_large_numbers) - df["Volume(24h)"] = df["Volume(24h)"].apply(convert_large_numbers) - - # Convert percentages to decimal values - for col in ["1h %", "24h %", "7d %"]: - if col in df.columns: - # First ensure it's string, then clean - df[col] = ( - df[col].astype(str) - .str.replace("%", "") - .str.replace(",", ".") - .replace("nan", np.nan) - ) - df[col] = pd.to_numeric(df[col], errors='coerce') / 100 - - return df - - def calculate_metrics(self, df: pd.DataFrame) -> pd.DataFrame: - """ - Compute advanced trading metrics used by quantitative funds: - - 1. Volume/Market Cap Ratio - Measures liquidity efficiency - (High ratio = Underestimated attention, and small-cap = higher growth potential) - - 2. Volatility Score - Risk-adjusted momentum potential - Shows how stable is the trend - (STD of 1h/24h/7d returns) - - 3. Momentum Score - Weighted average of returns - Shows how strong is the trend - (1h:30% + 24h:50% + 7d:20%) - - 4. Volume Anomaly - 3σ deviation detection - (Flags potential insider activity) - Unusual trading activity – Flags coins with volume spikes (potential insider buying or news). - """ - # Liquidity Metrics - df["Volume/Market Cap Ratio"] = df["Volume(24h)"] / df["Market Cap"] - - # Risk Metrics - df["Volatility Score"] = df[["1h %", "24h %", "7d %"]].std(axis=1) - - # Momentum Metrics - df["Momentum Score"] = df["1h %"] * 0.3 + df["24h %"] * 0.5 + df["7d %"] * 0.2 - - # Anomaly Detection - median_vol = df["Volume(24h)"].median() - df["Volume Anomaly"] = df["Volume(24h)"] > 3 * median_vol - - # Value Flags - # Undervalued Flag - Low market cap and high momentum - # (High growth potential and low attention) - df["Undervalued Flag"] = (df["Market Cap"] < 1e9) & ( - df["Momentum Score"] > 0.05 - ) - # Liquid Giant Flag - High volume/market cap ratio and large market cap - # (High liquidity and large market cap = institutional interest) - df["Liquid Giant"] = (df["Volume/Market Cap Ratio"] > 0.15) & ( - df["Market Cap"] > 1e9 - ) - - return df - - def generate_insights_simple(self, df: pd.DataFrame) -> str: - """ - Generates an ultra-actionable crypto trading report with: - - Risk-tiered opportunities (High/Medium/Low) - - Concrete examples for each trade type - - Entry/exit strategies spelled out - - Visual cues for quick scanning - """ - report = [ - "🚀 **CRYPTO TRADING CHEAT SHEET** 🚀", - "*Based on quantitative signals + hedge fund tactics*", - "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" - ] - - # 1. HIGH-RISK: Undervalued Small-Caps (Momentum Plays) - high_risk = df[df["Undervalued Flag"]].sort_values("Momentum Score", ascending=False) - if not high_risk.empty: - example_coin = high_risk.iloc[0] - report.extend([ - "\n🔥 **HIGH-RISK: Rocket Fuel Small-Caps**", - f"*Example Trade:* {example_coin['Name']} (Price: ${example_coin['Price']:.6f})", - "📊 *Why?* Tiny market cap (<$1B) but STRONG momentum (+{:.0f}% last week)".format(example_coin['7d %']*100), - "🎯 *Strategy:*", - "1. Wait for 5-10% dip from recent high (${:.6f} → Buy under ${:.6f})".format( - example_coin['Price'] / (1 - example_coin['24h %']), # Approx recent high - example_coin['Price'] * 0.95 - ), - "2. Set stop-loss at -10% (${:.6f})".format(example_coin['Price'] * 0.90), - "3. Take profit at +20% (${:.6f})".format(example_coin['Price'] * 1.20), - "⚠️ *Risk Warning:* These can drop 30% fast! Never bet more than 5% of your portfolio.", - "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" - ]) - - # 2. MEDIUM-RISK: Liquid Giants (Swing Trades) - medium_risk = df[df["Liquid Giant"]].sort_values("Volume/Market Cap Ratio", ascending=False) - if not medium_risk.empty: - example_coin = medium_risk.iloc[0] - report.extend([ - "\n💎 **MEDIUM-RISK: Liquid Giants (Safe Swing Trades)**", - f"*Example Trade:* {example_coin['Name']} (Market Cap: ${example_coin['Market Cap']/1e9:.1f}B)", - "📊 *Why?* Huge volume (${:.1f}M/day) makes it easy to enter/exit".format(example_coin['Volume(24h)']/1e6), - "🎯 *Strategy:*", - "1. Buy when 24h volume > 15% of market cap (Current: {:.0f}%)".format(example_coin['Volume/Market Cap Ratio']*100), - "2. Hold 1-4 weeks (Big coins trend longer)", - "3. Exit when momentum drops below 5% (Current: {:.0f}%)".format(example_coin['Momentum Score']*100), - "📉 *Pro Tip:* Watch Bitcoin's trend - if BTC drops 5%, these usually follow.", - "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" - ]) - - # 3. LOW-RISK: Stable Momentum (DCA Targets) - low_risk = df[ - (df["Momentum Score"] > 0.05) & - (df["Volatility Score"] < 0.03) - ].sort_values("Market Cap", ascending=False) - if not low_risk.empty: - example_coin = low_risk.iloc[0] - report.extend([ - "\n🛡️ **LOW-RISK: Steady Climbers (DCA & Forget)**", - f"*Example Trade:* {example_coin['Name']} (Volatility: {example_coin['Volatility Score']:.2f}/5)", - "📊 *Why?* Rises steadily (+{:.0f}%/week) with LOW drama".format(example_coin['7d %']*100), - "🎯 *Strategy:*", - "1. Buy small amounts every Tuesday/Friday (DCA)", - "2. Hold for 3+ months (Compound gains work best here)", - "3. Sell 10% at every +25% milestone", - "💰 *Best For:* Long-term investors who hate sleepless nights", - "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" - ]) - - # Volume Spike Alerts - anomalies = df[df["Volume Anomaly"]].sort_values("Volume(24h)", ascending=False) - if not anomalies.empty: - example_coin = anomalies.iloc[0] - report.extend([ - "\n🚨 **Volume Spike Alert (Possible News/Whale Action)**", - f"*Coin:* {example_coin['Name']} (Volume: ${example_coin['Volume(24h)']/1e6:.1f}M, usual: ${example_coin['Volume(24h)']/3/1e6:.1f}M)", - "🔍 *Check:* Twitter/CoinGecko for news before trading", - "⚡ *If no news:* Could be insider buying - watch price action:", - "- Break above today's high → Buy with tight stop-loss", - "- Fade back down → Avoid (may be a fakeout)" - ]) - - # Pro Tip Footer - report.append("\n✨ *Pro Tip:* Bookmark this report & check back in 24h to see if signals held up.") - - return "\n".join(report) - - def generate_insights(self, df: pd.DataFrame) -> str: - """ - Generates a tactical trading report with: - - Top 3 trades per risk level (High/Medium/Low) - - Auto-calculated entry/exit prices - - BTC chart toggle tip - """ - # Filter top candidates for each risk level - high_risk = ( - df[df["Undervalued Flag"]] - .sort_values("Momentum Score", ascending=False) - .head(3) - ) - medium_risk = ( - df[df["Liquid Giant"]] - .sort_values("Volume/Market Cap Ratio", ascending=False) - .head(3) - ) - low_risk = ( - df[(df["Momentum Score"] > 0.05) & (df["Volatility Score"] < 0.03)] - .sort_values("Momentum Score", ascending=False) - .head(3) - ) - - report = ["# 🎯 Crypto Trading Tactical Report (Top 3 Per Risk Tier)"] - - # 1. High-Risk Trades (Small-Cap Momentum) - if not high_risk.empty: - report.append("\n## 🔥 HIGH RISK: Small-Cap Rockets (5-50% Potential)") - for i, coin in high_risk.iterrows(): - current_price = coin["Price"] - entry = current_price * 0.95 # -5% dip - stop_loss = current_price * 0.90 # -10% - take_profit = current_price * 1.20 # +20% - - report.append( - f"\n### {coin['Name']} (Momentum: {coin['Momentum Score']:.1%})" - f"\n- **Current Price:** ${current_price:.4f}" - f"\n- **Entry:** < ${entry:.4f} (Wait for pullback)" - f"\n- **Stop-Loss:** ${stop_loss:.4f} (-10%)" - f"\n- **Target:** ${take_profit:.4f} (+20%)" - f"\n- **Risk/Reward:** 1:2" - f"\n- **Watch:** Volume spikes above {coin['Volume(24h)']/1e6:.1f}M" - ) - - # 2. Medium-Risk Trades (Liquid Giants) - if not medium_risk.empty: - report.append("\n## 💎 MEDIUM RISK: Liquid Swing Trades (10-30% Potential)") - for i, coin in medium_risk.iterrows(): - current_price = coin["Price"] - entry = current_price * 0.98 # -2% dip - stop_loss = current_price * 0.94 # -6% - take_profit = current_price * 1.15 # +15% - - report.append( - f"\n### {coin['Name']} (Liquidity Score: {coin['Volume/Market Cap Ratio']:.1%})" - f"\n- **Current Price:** ${current_price:.2f}" - f"\n- **Entry:** < ${entry:.2f} (Buy slight dips)" - f"\n- **Stop-Loss:** ${stop_loss:.2f} (-6%)" - f"\n- **Target:** ${take_profit:.2f} (+15%)" - f"\n- **Hold Time:** 1-3 weeks" - f"\n- **Key Metric:** Volume/Cap > 15%" - ) - - # 3. Low-Risk Trades (Stable Momentum) - if not low_risk.empty: - report.append("\n## 🛡️ LOW RISK: Steady Gainers (5-15% Potential)") - for i, coin in low_risk.iterrows(): - current_price = coin["Price"] - entry = current_price * 0.99 # -1% dip - stop_loss = current_price * 0.97 # -3% - take_profit = current_price * 1.10 # +10% - - report.append( - f"\n### {coin['Name']} (Stability Score: {1/coin['Volatility Score']:.1f}x)" - f"\n- **Current Price:** ${current_price:.2f}" - f"\n- **Entry:** < ${entry:.2f} (Safe zone)" - f"\n- **Stop-Loss:** ${stop_loss:.2f} (-3%)" - f"\n- **Target:** ${take_profit:.2f} (+10%)" - f"\n- **DCA Suggestion:** 3 buys over 72 hours" - ) - - # Volume Anomaly Alert - anomalies = df[df["Volume Anomaly"]].sort_values("Volume(24h)", ascending=False).head(2) - if not anomalies.empty: - report.append("\n⚠️ **Volume Spike Alerts**") - for i, coin in anomalies.iterrows(): - report.append( - f"- {coin['Name']}: Volume {coin['Volume(24h)']/1e6:.1f}M " - f"(3x normal) | Price moved: {coin['24h %']:.1%}" - ) - - # Pro Tip - report.append( - "\n📊 **Chart Hack:** Hide BTC in visuals:\n" - "```python\n" - "# For 3D Map:\n" - "fig.update_traces(visible=False, selector={'name':'Bitcoin'})\n" - "# For Treemap:\n" - "df = df[df['Name'] != 'Bitcoin']\n" - "```" - ) - - return "\n".join(report) - - def create_visuals(self, df: pd.DataFrame) -> dict: - """Enhanced visuals with BTC toggle support""" - # 3D Market Map (with BTC toggle hint) - fig1 = px.scatter_3d( - df, - x="Market Cap", - y="Volume/Market Cap Ratio", - z="Momentum Score", - color="Name", # Color by name to allow toggling - hover_name="Name", - title="Market Map (Toggle BTC in legend to focus on alts)", - log_x=True - ) - fig1.update_traces( - marker=dict(size=df["Volatility Score"]*100 + 5) # Dynamic sizing - ) - - # Liquidity Tree (exclude BTC if too dominant) - if df[df["Name"] == "BitcoinBTC"]["Market Cap"].values[0] > df["Market Cap"].median() * 10: - df = df[df["Name"] != "BitcoinBTC"] - - fig2 = px.treemap( - df, - path=["Name"], - values="Market Cap", - color="Volume/Market Cap Ratio", - title="Liquidity Tree (BTC auto-removed if dominant)" - ) - - return {"market_map": fig1, "liquidity_tree": fig2} - -async def main(): - """ - Main execution flow: - 1. Configure headless browser for scraping - 2. Extract live crypto market data - 3. Clean and analyze using hedge fund models - 4. Generate visualizations and insights - 5. Output professional trading report - """ - # Configure browser with anti-detection features - browser_config = BrowserConfig( - headless=False, - ) - - # Initialize crawler with smart table detection - crawler = AsyncWebCrawler(config=browser_config) - await crawler.start() - - try: - # Set up scraping parameters - crawl_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - table_score_threshold=8, # Strict table detection - keep_data_attributes=True, - scraping_strategy=LXMLWebScrapingStrategy(), - scan_full_page=True, - scroll_delay=0.2, - ) - - # Execute market data extraction - results: List[CrawlResult] = await crawler.arun( - url="https://coinmarketcap.com/?page=1", config=crawl_config - ) - - # Process results - raw_df = pd.DataFrame() - for result in results: - # Use the new tables field, falling back to media["tables"] for backward compatibility - tables = result.tables if hasattr(result, "tables") and result.tables else result.media.get("tables", []) - if result.success and tables: - # Extract primary market table - # DataFrame - raw_df = pd.DataFrame( - tables[0]["rows"], - columns=tables[0]["headers"], - ) - break - - - # This is for debugging only - # ////// Remove this in production from here.. - # Save raw data for debugging - raw_df.to_csv(f"{__current_dir__}/tmp/raw_crypto_data.csv", index=False) - print("🔍 Raw data saved to 'raw_crypto_data.csv'") - - # Read from file for debugging - raw_df = pd.read_csv(f"{__current_dir__}/tmp/raw_crypto_data.csv") - # ////// ..to here - - # Select top 20 - raw_df = raw_df.head(50) - # Remove "Buy" from name - raw_df["Name"] = raw_df["Name"].str.replace("Buy", "") - - # Initialize analysis engine - analyzer = CryptoAlphaGenerator() - clean_df = analyzer.clean_data(raw_df) - analyzed_df = analyzer.calculate_metrics(clean_df) - - # Generate outputs - visuals = analyzer.create_visuals(analyzed_df) - insights = analyzer.generate_insights(analyzed_df) - - # Save visualizations - visuals["market_map"].write_html(f"{__current_dir__}/tmp/market_map.html") - visuals["liquidity_tree"].write_html(f"{__current_dir__}/tmp/liquidity_tree.html") - - # Display results - print("🔑 Key Trading Insights:") - print(insights) - print("\n📊 Open 'market_map.html' for interactive analysis") - print("\n📊 Open 'liquidity_tree.html' for interactive analysis") - - finally: - await crawler.close() - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/deepcrawl_example.py - -```py -import asyncio -import time - -from crawl4ai import CrawlerRunConfig, AsyncWebCrawler, CacheMode -from crawl4ai.content_scraping_strategy import LXMLWebScrapingStrategy -from crawl4ai.deep_crawling import BFSDeepCrawlStrategy, BestFirstCrawlingStrategy -from crawl4ai.deep_crawling.filters import ( - FilterChain, - URLPatternFilter, - DomainFilter, - ContentTypeFilter, - ContentRelevanceFilter, - SEOFilter, -) -from crawl4ai.deep_crawling.scorers import ( - KeywordRelevanceScorer, -) - - -# 1️⃣ Basic Deep Crawl Setup -async def basic_deep_crawl(): - """ - PART 1: Basic Deep Crawl setup - Demonstrates a simple two-level deep crawl. - - This function shows: - - How to set up BFSDeepCrawlStrategy (Breadth-First Search) - - Setting depth and domain parameters - - Processing the results to show the hierarchy - """ - print("\n===== BASIC DEEP CRAWL SETUP =====") - - # Configure a 2-level deep crawl using Breadth-First Search strategy - # max_depth=2 means: initial page (depth 0) + 2 more levels - # include_external=False means: only follow links within the same domain - config = CrawlerRunConfig( - deep_crawl_strategy=BFSDeepCrawlStrategy(max_depth=2, include_external=False), - scraping_strategy=LXMLWebScrapingStrategy(), - verbose=True, # Show progress during crawling - ) - - async with AsyncWebCrawler() as crawler: - start_time = time.perf_counter() - results = await crawler.arun(url="https://docs.crawl4ai.com", config=config) - - # Group results by depth to visualize the crawl tree - pages_by_depth = {} - for result in results: - depth = result.metadata.get("depth", 0) - if depth not in pages_by_depth: - pages_by_depth[depth] = [] - pages_by_depth[depth].append(result.url) - - print(f"✅ Crawled {len(results)} pages total") - - # Display crawl structure by depth - for depth, urls in sorted(pages_by_depth.items()): - print(f"\nDepth {depth}: {len(urls)} pages") - # Show first 3 URLs for each depth as examples - for url in urls[:3]: - print(f" → {url}") - if len(urls) > 3: - print(f" ... and {len(urls) - 3} more") - - print( - f"\n✅ Performance: {len(results)} pages in {time.perf_counter() - start_time:.2f} seconds" - ) - -# 2️⃣ Stream vs. Non-Stream Execution -async def stream_vs_nonstream(): - """ - PART 2: Demonstrates the difference between stream and non-stream execution. - - Non-stream: Waits for all results before processing - Stream: Processes results as they become available - """ - print("\n===== STREAM VS. NON-STREAM EXECUTION =====") - - # Common configuration for both examples - base_config = CrawlerRunConfig( - deep_crawl_strategy=BFSDeepCrawlStrategy(max_depth=1, include_external=False), - scraping_strategy=LXMLWebScrapingStrategy(), - verbose=False, - ) - - async with AsyncWebCrawler() as crawler: - # NON-STREAMING MODE - print("\n📊 NON-STREAMING MODE:") - print(" In this mode, all results are collected before being returned.") - - non_stream_config = base_config.clone() - non_stream_config.stream = False - - start_time = time.perf_counter() - results = await crawler.arun( - url="https://docs.crawl4ai.com", config=non_stream_config - ) - - print(f" ✅ Received all {len(results)} results at once") - print(f" ✅ Total duration: {time.perf_counter() - start_time:.2f} seconds") - - # STREAMING MODE - print("\n📊 STREAMING MODE:") - print(" In this mode, results are processed as they become available.") - - stream_config = base_config.clone() - stream_config.stream = True - - start_time = time.perf_counter() - result_count = 0 - first_result_time = None - - async for result in await crawler.arun( - url="https://docs.crawl4ai.com", config=stream_config - ): - result_count += 1 - if result_count == 1: - first_result_time = time.perf_counter() - start_time - print( - f" ✅ First result received after {first_result_time:.2f} seconds: {result.url}" - ) - elif result_count % 5 == 0: # Show every 5th result for brevity - print(f" → Result #{result_count}: {result.url}") - - print(f" ✅ Total: {result_count} results") - print(f" ✅ First result: {first_result_time:.2f} seconds") - print(f" ✅ All results: {time.perf_counter() - start_time:.2f} seconds") - print("\n🔍 Key Takeaway: Streaming allows processing results immediately") - -# 3️⃣ Introduce Filters & Scorers -async def filters_and_scorers(): - """ - PART 3: Demonstrates the use of filters and scorers for more targeted crawling. - - This function progressively adds: - 1. A single URL pattern filter - 2. Multiple filters in a chain - 3. Scorers for prioritizing pages - """ - print("\n===== FILTERS AND SCORERS =====") - - async with AsyncWebCrawler() as crawler: - # SINGLE FILTER EXAMPLE - print("\n📊 EXAMPLE 1: SINGLE URL PATTERN FILTER") - print(" Only crawl pages containing 'core' in the URL") - - # Create a filter that only allows URLs with 'guide' in them - url_filter = URLPatternFilter(patterns=["*core*"]) - - config = CrawlerRunConfig( - deep_crawl_strategy=BFSDeepCrawlStrategy( - max_depth=1, - include_external=False, - filter_chain=FilterChain([url_filter]), # Single filter - ), - scraping_strategy=LXMLWebScrapingStrategy(), - cache_mode=CacheMode.BYPASS, - verbose=True, - ) - - results = await crawler.arun(url="https://docs.crawl4ai.com", config=config) - - print(f" ✅ Crawled {len(results)} pages matching '*core*'") - for result in results[:3]: # Show first 3 results - print(f" → {result.url}") - if len(results) > 3: - print(f" ... and {len(results) - 3} more") - - # MULTIPLE FILTERS EXAMPLE - print("\n📊 EXAMPLE 2: MULTIPLE FILTERS IN A CHAIN") - print(" Only crawl pages that:") - print(" 1. Contain '2024' in the URL") - print(" 2. Are from 'techcrunch.com'") - print(" 3. Are of text/html or application/javascript content type") - - # Create a chain of filters - filter_chain = FilterChain( - [ - URLPatternFilter(patterns=["*2024*"]), - DomainFilter( - allowed_domains=["techcrunch.com"], - blocked_domains=["guce.techcrunch.com", "oidc.techcrunch.com"], - ), - ContentTypeFilter( - allowed_types=["text/html", "application/javascript"] - ), - ] - ) - - config = CrawlerRunConfig( - deep_crawl_strategy=BFSDeepCrawlStrategy( - max_depth=1, include_external=False, filter_chain=filter_chain - ), - scraping_strategy=LXMLWebScrapingStrategy(), - verbose=True, - ) - - results = await crawler.arun(url="https://techcrunch.com", config=config) - - print(f" ✅ Crawled {len(results)} pages after applying all filters") - for result in results[:3]: - print(f" → {result.url}") - if len(results) > 3: - print(f" ... and {len(results) - 3} more") - - # SCORERS EXAMPLE - print("\n📊 EXAMPLE 3: USING A KEYWORD RELEVANCE SCORER") - print( - "Score pages based on relevance to keywords: 'crawl', 'example', 'async', 'configuration','javascript','css'" - ) - - # Create a keyword relevance scorer - keyword_scorer = KeywordRelevanceScorer( - keywords=["crawl", "example", "async", "configuration","javascript","css"], weight=1 - ) - - config = CrawlerRunConfig( - deep_crawl_strategy=BestFirstCrawlingStrategy( - max_depth=1, include_external=False, url_scorer=keyword_scorer - ), - scraping_strategy=LXMLWebScrapingStrategy(), - cache_mode=CacheMode.BYPASS, - verbose=True, - stream=True, - ) - - results = [] - async for result in await crawler.arun( - url="https://docs.crawl4ai.com", config=config - ): - results.append(result) - score = result.metadata.get("score") - print(f" → Score: {score:.2f} | {result.url}") - - print(f" ✅ Crawler prioritized {len(results)} pages by relevance score") - print(" 🔍 Note: BestFirstCrawlingStrategy visits highest-scoring pages first") - -# 4️⃣ Advanced Filters -async def advanced_filters(): - """ - PART 4: Demonstrates advanced filtering techniques for specialized crawling. - - This function covers: - - SEO filters - - Text relevancy filtering - - Combining advanced filters - """ - print("\n===== ADVANCED FILTERS =====") - - async with AsyncWebCrawler() as crawler: - # SEO FILTER EXAMPLE - print("\n📊 EXAMPLE 1: SEO FILTERS") - print( - "Quantitative SEO quality assessment filter based searching keywords in the head section" - ) - - seo_filter = SEOFilter( - threshold=0.5, keywords=["dynamic", "interaction", "javascript"] - ) - - config = CrawlerRunConfig( - deep_crawl_strategy=BFSDeepCrawlStrategy( - max_depth=1, filter_chain=FilterChain([seo_filter]) - ), - scraping_strategy=LXMLWebScrapingStrategy(), - verbose=True, - cache_mode=CacheMode.BYPASS, - ) - - results = await crawler.arun(url="https://docs.crawl4ai.com", config=config) - - print(f" ✅ Found {len(results)} pages with relevant keywords") - for result in results: - print(f" → {result.url}") - - # ADVANCED TEXT RELEVANCY FILTER - print("\n📊 EXAMPLE 2: ADVANCED TEXT RELEVANCY FILTER") - - # More sophisticated content relevance filter - relevance_filter = ContentRelevanceFilter( - query="Interact with the web using your authentic digital identity", - threshold=0.7, - ) - - config = CrawlerRunConfig( - deep_crawl_strategy=BFSDeepCrawlStrategy( - max_depth=1, filter_chain=FilterChain([relevance_filter]) - ), - scraping_strategy=LXMLWebScrapingStrategy(), - verbose=True, - cache_mode=CacheMode.BYPASS, - ) - - results = await crawler.arun(url="https://docs.crawl4ai.com", config=config) - - print(f" ✅ Found {len(results)} pages") - for result in results: - relevance_score = result.metadata.get("relevance_score", 0) - print(f" → Score: {relevance_score:.2f} | {result.url}") - -# 5️⃣ Max Pages and Score Thresholds -async def max_pages_and_thresholds(): - """ - PART 5: Demonstrates using max_pages and score_threshold parameters with different strategies. - - This function shows: - - How to limit the number of pages crawled - - How to set score thresholds for more targeted crawling - - Comparing BFS, DFS, and Best-First strategies with these parameters - """ - print("\n===== MAX PAGES AND SCORE THRESHOLDS =====") - - from crawl4ai.deep_crawling import DFSDeepCrawlStrategy - - async with AsyncWebCrawler() as crawler: - # Define a common keyword scorer for all examples - keyword_scorer = KeywordRelevanceScorer( - keywords=["browser", "crawler", "web", "automation"], - weight=1.0 - ) - - # EXAMPLE 1: BFS WITH MAX PAGES - print("\n📊 EXAMPLE 1: BFS STRATEGY WITH MAX PAGES LIMIT") - print(" Limit the crawler to a maximum of 5 pages") - - bfs_config = CrawlerRunConfig( - deep_crawl_strategy=BFSDeepCrawlStrategy( - max_depth=2, - include_external=False, - url_scorer=keyword_scorer, - max_pages=5 # Only crawl 5 pages - ), - scraping_strategy=LXMLWebScrapingStrategy(), - verbose=True, - cache_mode=CacheMode.BYPASS, - ) - - results = await crawler.arun(url="https://docs.crawl4ai.com", config=bfs_config) - - print(f" ✅ Crawled exactly {len(results)} pages as specified by max_pages") - for result in results: - depth = result.metadata.get("depth", 0) - print(f" → Depth: {depth} | {result.url}") - - # EXAMPLE 2: DFS WITH SCORE THRESHOLD - print("\n📊 EXAMPLE 2: DFS STRATEGY WITH SCORE THRESHOLD") - print(" Only crawl pages with a relevance score above 0.5") - - dfs_config = CrawlerRunConfig( - deep_crawl_strategy=DFSDeepCrawlStrategy( - max_depth=2, - include_external=False, - url_scorer=keyword_scorer, - score_threshold=0.7, # Only process URLs with scores above 0.5 - max_pages=10 - ), - scraping_strategy=LXMLWebScrapingStrategy(), - verbose=True, - cache_mode=CacheMode.BYPASS, - ) - - results = await crawler.arun(url="https://docs.crawl4ai.com", config=dfs_config) - - print(f" ✅ Crawled {len(results)} pages with scores above threshold") - for result in results: - score = result.metadata.get("score", 0) - depth = result.metadata.get("depth", 0) - print(f" → Depth: {depth} | Score: {score:.2f} | {result.url}") - - # EXAMPLE 3: BEST-FIRST WITH BOTH CONSTRAINTS - print("\n📊 EXAMPLE 3: BEST-FIRST STRATEGY WITH BOTH CONSTRAINTS") - print(" Limit to 7 pages with scores above 0.3, prioritizing highest scores") - - bf_config = CrawlerRunConfig( - deep_crawl_strategy=BestFirstCrawlingStrategy( - max_depth=2, - include_external=False, - url_scorer=keyword_scorer, - max_pages=7, # Limit to 7 pages total - ), - scraping_strategy=LXMLWebScrapingStrategy(), - verbose=True, - cache_mode=CacheMode.BYPASS, - stream=True, - ) - - results = [] - async for result in await crawler.arun(url="https://docs.crawl4ai.com", config=bf_config): - results.append(result) - score = result.metadata.get("score", 0) - depth = result.metadata.get("depth", 0) - print(f" → Depth: {depth} | Score: {score:.2f} | {result.url}") - - print(f" ✅ Crawled {len(results)} high-value pages with scores above 0.3") - if results: - avg_score = sum(r.metadata.get('score', 0) for r in results) / len(results) - print(f" ✅ Average score: {avg_score:.2f}") - print(" 🔍 Note: BestFirstCrawlingStrategy visited highest-scoring pages first") - -# 6️⃣ Wrap-Up and Key Takeaways -async def wrap_up(): - """ - PART 6: Wrap-Up and Key Takeaways - - Summarize the key concepts learned in this tutorial. - """ - print("\n===== COMPLETE CRAWLER EXAMPLE =====") - print("Combining filters, scorers, and streaming for an optimized crawl") - - # Create a sophisticated filter chain - filter_chain = FilterChain( - [ - DomainFilter( - allowed_domains=["docs.crawl4ai.com"], - blocked_domains=["old.docs.crawl4ai.com"], - ), - URLPatternFilter(patterns=["*core*", "*advanced*", "*blog*"]), - ContentTypeFilter(allowed_types=["text/html"]), - ] - ) - - # Create a composite scorer that combines multiple scoring strategies - keyword_scorer = KeywordRelevanceScorer( - keywords=["crawl", "example", "async", "configuration"], weight=0.7 - ) - # Set up the configuration - config = CrawlerRunConfig( - deep_crawl_strategy=BestFirstCrawlingStrategy( - max_depth=1, - include_external=False, - filter_chain=filter_chain, - url_scorer=keyword_scorer, - ), - scraping_strategy=LXMLWebScrapingStrategy(), - stream=True, - verbose=True, - ) - - # Execute the crawl - results = [] - start_time = time.perf_counter() - - async with AsyncWebCrawler() as crawler: - async for result in await crawler.arun( - url="https://docs.crawl4ai.com", config=config - ): - results.append(result) - score = result.metadata.get("score", 0) - depth = result.metadata.get("depth", 0) - print(f"→ Depth: {depth} | Score: {score:.2f} | {result.url}") - - duration = time.perf_counter() - start_time - - # Summarize the results - print(f"\n✅ Crawled {len(results)} high-value pages in {duration:.2f} seconds") - print( - f"✅ Average score: {sum(r.metadata.get('score', 0) for r in results) / len(results):.2f}" - ) - - # Group by depth - depth_counts = {} - for result in results: - depth = result.metadata.get("depth", 0) - depth_counts[depth] = depth_counts.get(depth, 0) + 1 - - print("\n📊 Pages crawled by depth:") - for depth, count in sorted(depth_counts.items()): - print(f" Depth {depth}: {count} pages") - - -async def run_tutorial(): - """ - Executes all tutorial sections in sequence. - """ - print("\n🚀 CRAWL4AI DEEP CRAWLING TUTORIAL 🚀") - print("======================================") - print("This tutorial will walk you through deep crawling techniques,") - print("from basic to advanced, using the Crawl4AI library.") - - # Define sections - uncomment to run specific parts during development - tutorial_sections = [ - basic_deep_crawl, - stream_vs_nonstream, - filters_and_scorers, - max_pages_and_thresholds, - advanced_filters, - wrap_up, - ] - - for section in tutorial_sections: - await section() - - print("\n🎉 TUTORIAL COMPLETE! 🎉") - print("You now have a comprehensive understanding of deep crawling with Crawl4AI.") - print("For more information, check out https://docs.crawl4ai.com") - -# Execute the tutorial when run directly -if __name__ == "__main__": - asyncio.run(run_tutorial()) -``` - - -## File: docs/examples/dispatcher_example.py - -```py -import asyncio -import time -from rich import print -from rich.table import Table -from crawl4ai import ( - AsyncWebCrawler, - BrowserConfig, - CrawlerRunConfig, - MemoryAdaptiveDispatcher, - SemaphoreDispatcher, - RateLimiter, - CrawlerMonitor, - DisplayMode, - CacheMode, - LXMLWebScrapingStrategy, -) - - -async def memory_adaptive(urls, browser_config, run_config): - """Memory adaptive crawler with monitoring""" - start = time.perf_counter() - async with AsyncWebCrawler(config=browser_config) as crawler: - dispatcher = MemoryAdaptiveDispatcher( - memory_threshold_percent=70.0, - max_session_permit=10, - monitor=CrawlerMonitor( - max_visible_rows=15, display_mode=DisplayMode.DETAILED - ), - ) - results = await crawler.arun_many( - urls, config=run_config, dispatcher=dispatcher - ) - duration = time.perf_counter() - start - return len(results), duration - - -async def memory_adaptive_with_rate_limit(urls, browser_config, run_config): - """Memory adaptive crawler with rate limiting""" - start = time.perf_counter() - async with AsyncWebCrawler(config=browser_config) as crawler: - dispatcher = MemoryAdaptiveDispatcher( - memory_threshold_percent=95.0, - max_session_permit=10, - rate_limiter=RateLimiter( - base_delay=(1.0, 2.0), max_delay=30.0, max_retries=2 - ), - monitor=CrawlerMonitor( - max_visible_rows=15, display_mode=DisplayMode.DETAILED - ), - ) - results = await crawler.arun_many( - urls, config=run_config, dispatcher=dispatcher - ) - duration = time.perf_counter() - start - return len(results), duration - - -async def semaphore(urls, browser_config, run_config): - """Basic semaphore crawler""" - start = time.perf_counter() - async with AsyncWebCrawler(config=browser_config) as crawler: - dispatcher = SemaphoreDispatcher( - semaphore_count=5, - monitor=CrawlerMonitor( - max_visible_rows=15, display_mode=DisplayMode.DETAILED - ), - ) - results = await crawler.arun_many( - urls, config=run_config, dispatcher=dispatcher - ) - duration = time.perf_counter() - start - return len(results), duration - - -async def semaphore_with_rate_limit(urls, browser_config, run_config): - """Semaphore crawler with rate limiting""" - start = time.perf_counter() - async with AsyncWebCrawler(config=browser_config) as crawler: - dispatcher = SemaphoreDispatcher( - semaphore_count=5, - rate_limiter=RateLimiter( - base_delay=(1.0, 2.0), max_delay=30.0, max_retries=2 - ), - monitor=CrawlerMonitor( - max_visible_rows=15, display_mode=DisplayMode.DETAILED - ), - ) - results = await crawler.arun_many( - urls, config=run_config, dispatcher=dispatcher - ) - duration = time.perf_counter() - start - return len(results), duration - - -def create_performance_table(results): - """Creates a rich table showing performance results""" - table = Table(title="Crawler Strategy Performance Comparison") - table.add_column("Strategy", style="cyan") - table.add_column("URLs Crawled", justify="right", style="green") - table.add_column("Time (seconds)", justify="right", style="yellow") - table.add_column("URLs/second", justify="right", style="magenta") - - sorted_results = sorted(results.items(), key=lambda x: x[1][1]) - - for strategy, (urls_crawled, duration) in sorted_results: - urls_per_second = urls_crawled / duration - table.add_row( - strategy, str(urls_crawled), f"{duration:.2f}", f"{urls_per_second:.2f}" - ) - - return table - - -async def main(): - urls = [f"https://example.com/page{i}" for i in range(1, 40)] - browser_config = BrowserConfig(headless=True, verbose=False) - run_config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS, scraping_strategy=LXMLWebScrapingStrategy()) - - results = { - "Memory Adaptive": await memory_adaptive(urls, browser_config, run_config), - # "Memory Adaptive + Rate Limit": await memory_adaptive_with_rate_limit( - # urls, browser_config, run_config - # ), - # "Semaphore": await semaphore(urls, browser_config, run_config), - # "Semaphore + Rate Limit": await semaphore_with_rate_limit( - # urls, browser_config, run_config - # ), - } - - table = create_performance_table(results) - print("\nPerformance Summary:") - print(table) - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/docker_config_obj.py - -```py -from crawl4ai import BrowserConfig, CrawlerRunConfig, PruningContentFilter, DefaultMarkdownGenerator -from crawl4ai.deep_crawling.filters import ContentTypeFilter, DomainFilter -from crawl4ai.deep_crawling.scorers import KeywordRelevanceScorer, PathDepthScorer -from crawl4ai.cache_context import CacheMode -from crawl4ai.deep_crawling.bfs_strategy import BFSDeepCrawlStrategy -from crawl4ai.deep_crawling.filters import FilterChain -from crawl4ai.deep_crawling.scorers import CompositeScorer -from crawl4ai.docker_client import Crawl4aiDockerClient -import json -from rich.console import Console -from rich.syntax import Syntax - -console = Console() - -def print_json(data: dict, title: str = None): - """Helper to print JSON prettily with syntax highlighting""" - if title: - console.print(f"\n[bold blue]{title}[/bold blue]") - json_str = json.dumps(data, indent=2) - syntax = Syntax(json_str, "json", theme="monokai", line_numbers=True) - console.print(syntax) - -async def part1_basic_config(): - """PART 1: Understanding Basic Configuration Objects - - Here we create simple configuration objects and examine their structure. - This helps understand the basic type-params pattern used throughout the API. - """ - console.print("\n[bold green]Explanation:[/bold green] Configuration objects like BrowserConfig and CrawlerRunConfig are the foundation of Crawl4AI. They define how the crawler behaves—e.g., whether it runs headless or how it processes content. These objects use a 'type-params' pattern: 'type' identifies the object class, and 'params' holds its settings. This structure is key because it’s reusable and can be serialized into JSON for API calls.") - - # Create a simple browser config - browser_config = BrowserConfig( - headless=False, - viewport_width=500, - headers = {"User-Agent": "Mozilla/5.0"} - ) - - # Show its structure - print_json(browser_config.dump(), "Simple Browser Config Structure") - - # Create a more complex config with nested objects - crawler_config = CrawlerRunConfig( - word_count_threshold=200, - markdown_generator=DefaultMarkdownGenerator( - content_filter=PruningContentFilter(threshold=0.5) - ) - ) - - print_json(crawler_config.dump(), "Complex Config with Nested Objects") - -async def part2_manual_json(): - """PART 2: Building JSON Manually - - Learn how to construct the JSON structure by hand. - This demonstrates deep understanding of the configuration format. - """ - console.print("\n[bold green]Explanation:[/bold green] Manually building JSON configurations mirrors how the API expects data. It’s a hands-on way to learn the exact structure—each object has a 'type' and 'params' section. This is useful when you’re troubleshooting or working without the SDK, as it forces you to understand every detail of the config format.") - - # Manual browser config - manual_browser = { - "type": "BrowserConfig", - "params": { - "headless": True, - "viewport": { - "type": "dict", - "value": { - "width": 1200, - "height": 800 - } - } - } - } - - # Validate by loading into BrowserConfig - loaded_config = BrowserConfig.load(manual_browser) - print_json(loaded_config.dump(), "Manually Created -> Loaded -> Dumped") - - # Show they're equivalent - original = BrowserConfig(headless=True, viewport={"width": 1200, "height": 800}) - assert loaded_config.dump() == original.dump(), "Configs are equivalent!" - -async def part3_complex_structures(): - """PART 3: Working with Complex Nested Structures - - Explore more complex configurations with multiple levels of nesting. - This shows how the type-params pattern scales to complex scenarios. - """ - console.print("\n[bold green]Explanation:[/bold green] Real-world crawling often requires detailed settings—like filtering content or customizing output. Here, we nest objects (e.g., a markdown generator with a content filter) using the same 'type-params' pattern. This nesting lets you fine-tune the crawler’s behavior at multiple levels, making it powerful and flexible.") - - config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - markdown_generator=DefaultMarkdownGenerator( - content_filter=PruningContentFilter() - ), - deep_crawl_strategy=BFSDeepCrawlStrategy( - max_depth=5, - filter_chain=FilterChain( - filters=[ - ContentTypeFilter(allowed_types=["text/html"]), - DomainFilter(allowed_domains=["example.com"]) - ] - ), - url_scorer=CompositeScorer( - scorers=[ - KeywordRelevanceScorer(keywords=["data", "analysis"]), - PathDepthScorer(optimal_depth=3) - ] - ) - ) - ) - - print_json(config.dump(), "Deep Nested Configuration") - -async def part4_client_sdk(): - """PART 4: Using the Client SDK - - Demonstrate how the SDK makes working with the API simple by handling - all the complex serialization automatically. - """ - console.print("\n[bold green]Explanation:[/bold green] The Crawl4aiDockerClient SDK is a time-saver—it takes your configuration objects and turns them into API-ready JSON automatically. This means less manual work and fewer mistakes. You just define your settings, pass them to the SDK, and it handles the rest, making crawling easier and faster.") - - async with Crawl4aiDockerClient(base_url="http://localhost:8000") as client: - # You would normally authenticate here if JWT is enabled - await client.authenticate("user@example.com") - - # Create configs - browser_config = BrowserConfig(headless=True) - crawler_config = CrawlerRunConfig(stream=False) - - # SDK handles all serialization - result = await client.crawl( - urls=["https://example.com"], - browser_config=browser_config, - crawler_config=crawler_config - ) - - console.print("\n[bold green]🚀 Crawl completed successfully![/bold green]") - console.print(f"Markdown length: {len(result.markdown)} characters") - -async def part5_direct_api(): - """PART 5: Using the API Directly - - Learn how to make direct API calls without the SDK. - This demonstrates the raw request structure and gives more control. - """ - console.print("\n[bold green]Explanation:[/bold green] Skipping the SDK means you’re in full control—you build the JSON payload yourself and send it to the API. This is harder but gives you a deeper understanding of how Crawl4AI works under the hood. It’s also useful if you’re integrating with systems that don’t use the SDK.") - - import aiohttp - from datetime import datetime - - # Prepare the request payload - payload = { - "urls": ["https://example.com"], - "browser_config": { - "type": "BrowserConfig", - "params": { - "headless": True, - "viewport": { - "type": "dict", - "value": { - "width": 1200, - "height": 800 - } - } - } - }, - "crawler_config": { - "type": "CrawlerRunConfig", - "params": { - "cache_mode": "bypass", - "markdown_generator": { - "type": "DefaultMarkdownGenerator", - "params": { - "content_filter": { - "type": "PruningContentFilter", - "params": { - "threshold": 0.48, - "threshold_type": "fixed" - } - } - } - } - } - } - } - - print_json(payload, "Direct API Request Payload") - - async with aiohttp.ClientSession() as session: - # If JWT is enabled, get token first - token_response = await session.post( - "http://localhost:8000/token", - json={"email": "user@example.com"} - ) - token = (await token_response.json())["access_token"] - headers = {"Authorization": f"Bearer {token}"} - - # Make the crawl request - start_time = datetime.now() - async with session.post( - "http://localhost:8000/crawl", - json=payload, - headers=headers # comment if using JWT - ) as response: - result = await response.json() - duration = (datetime.now() - start_time).total_seconds() - - console.print(f"\n[bold green]✅ API call completed in {duration:.2f}s[/bold green]") - print_json(result, "API Response") - -async def part6_wrap_up(): - """PART 6: Wrap-Up and Key Takeaways - - Summarize the key concepts learned in this tutorial. - """ - console.print("\n[bold yellow]🎓 Tutorial Wrap-Up[/bold yellow]") - console.print("[italic]Key Takeaways:[/italic]\n") - console.print("- **Configurations:** Use the type-params pattern to define settings flexibly.") - console.print("- **Manual JSON:** Build configs by hand to master the structure.") - console.print("- **Nesting:** Customize deeply with nested objects.") - console.print("- **SDK:** Simplify API calls with automatic serialization.") - console.print("- **Direct API:** Gain control by crafting raw requests.") - console.print("\n[bold green]🚀 You’re ready to crawl with Crawl4AI![/bold green]") - -async def main(): - """Main tutorial runner that executes each part in sequence""" - console.print("\n[bold yellow]🎓 Crawl4AI Docker Tutorial[/bold yellow]") - console.print("[italic]Learn how to work with configuration objects and the Docker API[/italic]\n") - - parts = [ - (part1_basic_config, "Understanding Basic Configurations"), - (part2_manual_json, "Manual JSON Construction"), - (part3_complex_structures, "Complex Nested Structures"), - (part4_client_sdk, "Using the Client SDK"), - (part5_direct_api, "Direct API Integration"), - (part6_wrap_up, "Wrap-Up and Key Takeaways") - ] - - for func, title in parts: - console.print(f"\n[bold cyan]📚 {title}[/bold cyan]") - console.print("[dim]" + func.__doc__.strip() + "[/dim]\n") - await func() - if func != part6_wrap_up: # No pause after wrap-up - input("\nPress Enter to continue...\n") - -# Run the tutorial -if __name__ == "__main__": - import asyncio - asyncio.run(main()) -``` - - -## File: docs/examples/docker_example.py - -```py -import requests -import json -import time -import sys -import base64 -import os -from typing import Dict, Any - - -class Crawl4AiTester: - def __init__(self, base_url: str = "http://localhost:11235", api_token: str = None): - self.base_url = base_url - self.api_token = ( - api_token or os.getenv("CRAWL4AI_API_TOKEN") or "test_api_code" - ) # Check environment variable as fallback - self.headers = ( - {"Authorization": f"Bearer {self.api_token}"} if self.api_token else {} - ) - - def submit_and_wait( - self, request_data: Dict[str, Any], timeout: int = 300 - ) -> Dict[str, Any]: - # Submit crawl job - response = requests.post( - f"{self.base_url}/crawl", json=request_data, headers=self.headers - ) - if response.status_code == 403: - raise Exception("API token is invalid or missing") - task_id = response.json()["task_id"] - print(f"Task ID: {task_id}") - - # Poll for result - start_time = time.time() - while True: - if time.time() - start_time > timeout: - raise TimeoutError( - f"Task {task_id} did not complete within {timeout} seconds" - ) - - result = requests.get( - f"{self.base_url}/task/{task_id}", headers=self.headers - ) - status = result.json() - - if status["status"] == "failed": - print("Task failed:", status.get("error")) - raise Exception(f"Task failed: {status.get('error')}") - - if status["status"] == "completed": - return status - - time.sleep(2) - - def submit_sync(self, request_data: Dict[str, Any]) -> Dict[str, Any]: - response = requests.post( - f"{self.base_url}/crawl_sync", - json=request_data, - headers=self.headers, - timeout=60, - ) - if response.status_code == 408: - raise TimeoutError("Task did not complete within server timeout") - response.raise_for_status() - return response.json() - - def crawl_direct(self, request_data: Dict[str, Any]) -> Dict[str, Any]: - """Directly crawl without using task queue""" - response = requests.post( - f"{self.base_url}/crawl_direct", json=request_data, headers=self.headers - ) - response.raise_for_status() - return response.json() - - -def test_docker_deployment(version="basic"): - tester = Crawl4AiTester( - base_url="http://localhost:11235", - # base_url="https://api.crawl4ai.com" # just for example - # api_token="test" # just for example - ) - print(f"Testing Crawl4AI Docker {version} version") - - # Health check with timeout and retry - max_retries = 5 - for i in range(max_retries): - try: - health = requests.get(f"{tester.base_url}/health", timeout=10) - print("Health check:", health.json()) - break - except requests.exceptions.RequestException: - if i == max_retries - 1: - print(f"Failed to connect after {max_retries} attempts") - sys.exit(1) - print(f"Waiting for service to start (attempt {i+1}/{max_retries})...") - time.sleep(5) - - # Test cases based on version - test_basic_crawl_direct(tester) - test_basic_crawl(tester) - test_basic_crawl(tester) - test_basic_crawl_sync(tester) - - if version in ["full", "transformer"]: - test_cosine_extraction(tester) - - test_js_execution(tester) - test_css_selector(tester) - test_structured_extraction(tester) - test_llm_extraction(tester) - test_llm_with_ollama(tester) - test_screenshot(tester) - - -def test_basic_crawl(tester: Crawl4AiTester): - print("\n=== Testing Basic Crawl ===") - request = { - "urls": "https://www.nbcnews.com/business", - "priority": 10, - "session_id": "test", - } - - result = tester.submit_and_wait(request) - print(f"Basic crawl result length: {len(result['result']['markdown'])}") - assert result["result"]["success"] - assert len(result["result"]["markdown"]) > 0 - - -def test_basic_crawl_sync(tester: Crawl4AiTester): - print("\n=== Testing Basic Crawl (Sync) ===") - request = { - "urls": "https://www.nbcnews.com/business", - "priority": 10, - "session_id": "test", - } - - result = tester.submit_sync(request) - print(f"Basic crawl result length: {len(result['result']['markdown'])}") - assert result["status"] == "completed" - assert result["result"]["success"] - assert len(result["result"]["markdown"]) > 0 - - -def test_basic_crawl_direct(tester: Crawl4AiTester): - print("\n=== Testing Basic Crawl (Direct) ===") - request = { - "urls": "https://www.nbcnews.com/business", - "priority": 10, - # "session_id": "test" - "cache_mode": "bypass", # or "enabled", "disabled", "read_only", "write_only" - } - - result = tester.crawl_direct(request) - print(f"Basic crawl result length: {len(result['result']['markdown'])}") - assert result["result"]["success"] - assert len(result["result"]["markdown"]) > 0 - - -def test_js_execution(tester: Crawl4AiTester): - print("\n=== Testing JS Execution ===") - request = { - "urls": "https://www.nbcnews.com/business", - "priority": 8, - "js_code": [ - "const loadMoreButton = Array.from(document.querySelectorAll('button')).find(button => button.textContent.includes('Load More')); loadMoreButton && loadMoreButton.click();" - ], - "wait_for": "article.tease-card:nth-child(10)", - "crawler_params": {"headless": True}, - } - - result = tester.submit_and_wait(request) - print(f"JS execution result length: {len(result['result']['markdown'])}") - assert result["result"]["success"] - - -def test_css_selector(tester: Crawl4AiTester): - print("\n=== Testing CSS Selector ===") - request = { - "urls": "https://www.nbcnews.com/business", - "priority": 7, - "css_selector": ".wide-tease-item__description", - "crawler_params": {"headless": True}, - "extra": {"word_count_threshold": 10}, - } - - result = tester.submit_and_wait(request) - print(f"CSS selector result length: {len(result['result']['markdown'])}") - assert result["result"]["success"] - - -def test_structured_extraction(tester: Crawl4AiTester): - print("\n=== Testing Structured Extraction ===") - schema = { - "name": "Coinbase Crypto Prices", - "baseSelector": ".cds-tableRow-t45thuk", - "fields": [ - { - "name": "crypto", - "selector": "td:nth-child(1) h2", - "type": "text", - }, - { - "name": "symbol", - "selector": "td:nth-child(1) p", - "type": "text", - }, - { - "name": "price", - "selector": "td:nth-child(2)", - "type": "text", - }, - ], - } - - request = { - "urls": "https://www.coinbase.com/explore", - "priority": 9, - "extraction_config": {"type": "json_css", "params": {"schema": schema}}, - } - - result = tester.submit_and_wait(request) - extracted = json.loads(result["result"]["extracted_content"]) - print(f"Extracted {len(extracted)} items") - print("Sample item:", json.dumps(extracted[0], indent=2)) - assert result["result"]["success"] - assert len(extracted) > 0 - - -def test_llm_extraction(tester: Crawl4AiTester): - print("\n=== Testing LLM Extraction ===") - schema = { - "type": "object", - "properties": { - "model_name": { - "type": "string", - "description": "Name of the OpenAI model.", - }, - "input_fee": { - "type": "string", - "description": "Fee for input token for the OpenAI model.", - }, - "output_fee": { - "type": "string", - "description": "Fee for output token for the OpenAI model.", - }, - }, - "required": ["model_name", "input_fee", "output_fee"], - } - - request = { - "urls": "https://openai.com/api/pricing", - "priority": 8, - "extraction_config": { - "type": "llm", - "params": { - "provider": "openai/gpt-4o-mini", - "api_token": os.getenv("OPENAI_API_KEY"), - "schema": schema, - "extraction_type": "schema", - "instruction": """From the crawled content, extract all mentioned model names along with their fees for input and output tokens.""", - }, - }, - "crawler_params": {"word_count_threshold": 1}, - } - - try: - result = tester.submit_and_wait(request) - extracted = json.loads(result["result"]["extracted_content"]) - print(f"Extracted {len(extracted)} model pricing entries") - print("Sample entry:", json.dumps(extracted[0], indent=2)) - assert result["result"]["success"] - except Exception as e: - print(f"LLM extraction test failed (might be due to missing API key): {str(e)}") - - -def test_llm_with_ollama(tester: Crawl4AiTester): - print("\n=== Testing LLM with Ollama ===") - schema = { - "type": "object", - "properties": { - "article_title": { - "type": "string", - "description": "The main title of the news article", - }, - "summary": { - "type": "string", - "description": "A brief summary of the article content", - }, - "main_topics": { - "type": "array", - "items": {"type": "string"}, - "description": "Main topics or themes discussed in the article", - }, - }, - } - - request = { - "urls": "https://www.nbcnews.com/business", - "priority": 8, - "extraction_config": { - "type": "llm", - "params": { - "provider": "ollama/llama2", - "schema": schema, - "extraction_type": "schema", - "instruction": "Extract the main article information including title, summary, and main topics.", - }, - }, - "extra": {"word_count_threshold": 1}, - "crawler_params": {"verbose": True}, - } - - try: - result = tester.submit_and_wait(request) - extracted = json.loads(result["result"]["extracted_content"]) - print("Extracted content:", json.dumps(extracted, indent=2)) - assert result["result"]["success"] - except Exception as e: - print(f"Ollama extraction test failed: {str(e)}") - - -def test_cosine_extraction(tester: Crawl4AiTester): - print("\n=== Testing Cosine Extraction ===") - request = { - "urls": "https://www.nbcnews.com/business", - "priority": 8, - "extraction_config": { - "type": "cosine", - "params": { - "semantic_filter": "business finance economy", - "word_count_threshold": 10, - "max_dist": 0.2, - "top_k": 3, - }, - }, - } - - try: - result = tester.submit_and_wait(request) - extracted = json.loads(result["result"]["extracted_content"]) - print(f"Extracted {len(extracted)} text clusters") - print("First cluster tags:", extracted[0]["tags"]) - assert result["result"]["success"] - except Exception as e: - print(f"Cosine extraction test failed: {str(e)}") - - -def test_screenshot(tester: Crawl4AiTester): - print("\n=== Testing Screenshot ===") - request = { - "urls": "https://www.nbcnews.com/business", - "priority": 5, - "screenshot": True, - "crawler_params": {"headless": True}, - } - - result = tester.submit_and_wait(request) - print("Screenshot captured:", bool(result["result"]["screenshot"])) - - if result["result"]["screenshot"]: - # Save screenshot - screenshot_data = base64.b64decode(result["result"]["screenshot"]) - with open("test_screenshot.jpg", "wb") as f: - f.write(screenshot_data) - print("Screenshot saved as test_screenshot.jpg") - - assert result["result"]["success"] - - -if __name__ == "__main__": - version = sys.argv[1] if len(sys.argv) > 1 else "basic" - # version = "full" - test_docker_deployment(version) - -``` - - -## File: docs/examples/docker_python_rest_api.py - -```py -import asyncio -import json -from typing import Optional -from urllib.parse import quote - -async def get_token(session, email: str = "test@example.com") -> str: - """Fetch a JWT token from the /token endpoint.""" - url = "http://localhost:8000/token" - payload = {"email": email} - print(f"\nFetching token from {url} with email: {email}") - try: - async with session.post(url, json=payload) as response: - status = response.status - data = await response.json() - print(f"Token Response Status: {status}") - print(f"Token Response: {json.dumps(data, indent=2)}") - if status == 200: - return data["access_token"] - else: - raise Exception(f"Failed to get token: {data.get('detail', 'Unknown error')}") - except Exception as e: - print(f"Error fetching token: {str(e)}") - raise - -async def test_endpoint( - session, - endpoint: str, - url: str, - token: str, - params: Optional[dict] = None, - expected_status: int = 200 -) -> Optional[dict]: - """Test an endpoint with token and print results.""" - params = params or {} - param_str = "&".join(f"{k}={v}" for k, v in params.items()) - full_url = f"http://localhost:8000/{endpoint}/{quote(url)}" - if param_str: - full_url += f"?{param_str}" - - headers = {"Authorization": f"Bearer {token}"} - print(f"\nTesting: {full_url}") - - try: - async with session.get(full_url, headers=headers) as response: - status = response.status - try: - data = await response.json() - except: - data = await response.text() - - print(f"Status: {status} (Expected: {expected_status})") - if isinstance(data, dict): - print(f"Response: {json.dumps(data, indent=2)}") - else: - print(f"Response: {data[:500]}...") # First 500 chars - assert status == expected_status, f"Expected {expected_status}, got {status}" - return data - except Exception as e: - print(f"Error: {str(e)}") - return None - - -async def test_stream_crawl(session, token: str): - """Test the /crawl/stream endpoint with multiple URLs.""" - url = "http://localhost:8000/crawl/stream" - payload = { - "urls": [ - "https://example.com", - "https://example.com/page1", # Replicated example.com with variation - "https://example.com/page2", # Replicated example.com with variation - "https://example.com/page3", # Replicated example.com with variation - # "https://www.python.org", - # "https://news.ycombinator.com/news" - ], - "browser_config": {"headless": True, "viewport": {"width": 1200}}, - "crawler_config": {"stream": True, "cache_mode": "bypass"} - } - headers = {"Authorization": f"Bearer {token}"} - print(f"\nTesting Streaming Crawl: {url}") - print(f"Payload: {json.dumps(payload, indent=2)}") - - try: - async with session.post(url, json=payload, headers=headers) as response: - status = response.status - print(f"Status: {status} (Expected: 200)") - assert status == 200, f"Expected 200, got {status}" - - # Read streaming response line-by-line (NDJSON) - async for line in response.content: - if line: - data = json.loads(line.decode('utf-8').strip()) - print(f"Streamed Result: {json.dumps(data, indent=2)}") - except Exception as e: - print(f"Error in streaming crawl test: {str(e)}") - -async def run_tests(): - import aiohttp - print("Starting API Tests...") - - # Test URLs - urls = [ - "example.com", - "https://www.python.org", - "https://news.ycombinator.com/news", - "https://github.com/trending" - ] - - async with aiohttp.ClientSession() as session: - token = "test_token" - # If jwt is enabled, authenticate first - # Fetch token once and reuse it - # token = await get_token(session) - # if not token: - # print("Aborting tests due to token failure!") - # return - - print("\n=== Testing Crawl Endpoint ===") - crawl_payload = { - "urls": ["https://example.com"], - "browser_config": {"headless": True}, - "crawler_config": {"stream": False} - } - async with session.post( - "http://localhost:8000/crawl", - json=crawl_payload, - headers={"Authorization": f"Bearer {token}"} - ) as response: - status = response.status - data = await response.json() - print(f"\nCrawl Endpoint Status: {status}") - print(f"Crawl Response: {json.dumps(data, indent=2)}") - - - print("\n=== Testing Crawl Stream Endpoint ===") - await test_stream_crawl(session, token) - - print("\n=== Testing Markdown Endpoint ===") - for url in []: #urls: - for filter_type in ["raw", "fit", "bm25", "llm"]: - params = {"f": filter_type} - if filter_type in ["bm25", "llm"]: - params["q"] = "extract main content" - - for cache in ["0", "1"]: - params["c"] = cache - await test_endpoint(session, "md", url, token, params) - await asyncio.sleep(1) # Be nice to the server - - print("\n=== Testing LLM Endpoint ===") - for url in urls: - # Test basic extraction (direct response now) - result = await test_endpoint( - session, - "llm", - url, - token, - {"q": "Extract title and main content"} - ) - - # Test with schema (direct response) - schema = { - "type": "object", - "properties": { - "title": {"type": "string"}, - "content": {"type": "string"}, - "links": {"type": "array", "items": {"type": "string"}} - } - } - result = await test_endpoint( - session, - "llm", - url, - token, - { - "q": "Extract content with links", - "s": json.dumps(schema), - "c": "1" # Test with cache - } - ) - await asyncio.sleep(2) # Be nice to the server - - print("\n=== Testing Error Cases ===") - # Test invalid URL - await test_endpoint( - session, - "md", - "not_a_real_url", - token, - expected_status=500 - ) - - # Test invalid filter type - await test_endpoint( - session, - "md", - "example.com", - token, - {"f": "invalid"}, - expected_status=422 - ) - - # Test LLM without query (should fail per your server logic) - await test_endpoint( - session, - "llm", - "example.com", - token, - expected_status=400 - ) - - print("\nAll tests completed!") - -if __name__ == "__main__": - asyncio.run(run_tests()) -``` - - -## File: docs/examples/docker_python_sdk.py - -```py -import asyncio -from crawl4ai.docker_client import Crawl4aiDockerClient -from crawl4ai import ( - BrowserConfig, - CrawlerRunConfig -) - -async def main(): - async with Crawl4aiDockerClient(base_url="http://localhost:8000", verbose=True) as client: - # If jwt is enabled, authenticate first - # await client.authenticate("test@example.com") - - # Non-streaming crawl - results = await client.crawl( - ["https://example.com", "https://python.org"], - browser_config=BrowserConfig(headless=True), - crawler_config=CrawlerRunConfig() - ) - print(f"Non-streaming results: {results}") - - # Streaming crawl - crawler_config = CrawlerRunConfig(stream=True) - async for result in await client.crawl( - ["https://example.com", "https://python.org"], - browser_config=BrowserConfig(headless=True), - crawler_config=crawler_config - ): - print(f"Streamed result: {result}") - - # Get schema - schema = await client.get_schema() - print(f"Schema: {schema}") - -if __name__ == "__main__": - asyncio.run(main()) -``` - - -## File: docs/examples/extraction_strategies_examples.py - -```py -""" -Example demonstrating different extraction strategies with various input formats. -This example shows how to: -1. Use different input formats (markdown, HTML, fit_markdown) -2. Work with JSON-based extractors (CSS and XPath) -3. Use LLM-based extraction with different input formats -4. Configure browser and crawler settings properly -""" - -import asyncio -import os - -from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode -from crawl4ai import LLMConfig -from crawl4ai.extraction_strategy import ( - LLMExtractionStrategy, - JsonCssExtractionStrategy, - JsonXPathExtractionStrategy, -) -from crawl4ai.content_filter_strategy import PruningContentFilter -from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator - - -async def run_extraction(crawler: AsyncWebCrawler, url: str, strategy, name: str): - """Helper function to run extraction with proper configuration""" - try: - # Configure the crawler run settings - config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - extraction_strategy=strategy, - markdown_generator=DefaultMarkdownGenerator( - content_filter=PruningContentFilter() # For fit_markdown support - ), - ) - - # Run the crawler - result = await crawler.arun(url=url, config=config) - - if result.success: - print(f"\n=== {name} Results ===") - print(f"Extracted Content: {result.extracted_content}") - print(f"Raw Markdown Length: {len(result.markdown.raw_markdown)}") - print( - f"Citations Markdown Length: {len(result.markdown.markdown_with_citations)}" - ) - else: - print(f"Error in {name}: Crawl failed") - - except Exception as e: - print(f"Error in {name}: {str(e)}") - - -async def main(): - # Example URL (replace with actual URL) - url = "https://example.com/product-page" - - # Configure browser settings - browser_config = BrowserConfig(headless=True, verbose=True) - - # Initialize extraction strategies - - # 1. LLM Extraction with different input formats - markdown_strategy = LLMExtractionStrategy( - llm_config = LLMConfig(provider="openai/gpt-4o-mini", api_token=os.getenv("OPENAI_API_KEY")), - instruction="Extract product information including name, price, and description", - ) - - html_strategy = LLMExtractionStrategy( - input_format="html", - llm_config=LLMConfig(provider="openai/gpt-4o-mini", api_token=os.getenv("OPENAI_API_KEY")), - instruction="Extract product information from HTML including structured data", - ) - - fit_markdown_strategy = LLMExtractionStrategy( - input_format="fit_markdown", - llm_config=LLMConfig(provider="openai/gpt-4o-mini",api_token=os.getenv("OPENAI_API_KEY")), - instruction="Extract product information from cleaned markdown", - ) - - # 2. JSON CSS Extraction (automatically uses HTML input) - css_schema = { - "baseSelector": ".product", - "fields": [ - {"name": "title", "selector": "h1.product-title", "type": "text"}, - {"name": "price", "selector": ".price", "type": "text"}, - {"name": "description", "selector": ".description", "type": "text"}, - ], - } - css_strategy = JsonCssExtractionStrategy(schema=css_schema) - - # 3. JSON XPath Extraction (automatically uses HTML input) - xpath_schema = { - "baseSelector": "//div[@class='product']", - "fields": [ - { - "name": "title", - "selector": ".//h1[@class='product-title']/text()", - "type": "text", - }, - { - "name": "price", - "selector": ".//span[@class='price']/text()", - "type": "text", - }, - { - "name": "description", - "selector": ".//div[@class='description']/text()", - "type": "text", - }, - ], - } - xpath_strategy = JsonXPathExtractionStrategy(schema=xpath_schema) - - # Use context manager for proper resource handling - async with AsyncWebCrawler(config=browser_config) as crawler: - # Run all strategies - await run_extraction(crawler, url, markdown_strategy, "Markdown LLM") - await run_extraction(crawler, url, html_strategy, "HTML LLM") - await run_extraction(crawler, url, fit_markdown_strategy, "Fit Markdown LLM") - await run_extraction(crawler, url, css_strategy, "CSS Extraction") - await run_extraction(crawler, url, xpath_strategy, "XPath Extraction") - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/full_page_screenshot_and_pdf_export.md - -```md -# Capturing Full-Page Screenshots and PDFs from Massive Webpages with Crawl4AI - -When dealing with very long web pages, traditional full-page screenshots can be slow or fail entirely. For large pages (like extensive Wikipedia articles), generating a single massive screenshot often leads to delays, memory issues, or style differences. - -**The New Approach:** -We’ve introduced a new feature that effortlessly handles even the biggest pages by first exporting them as a PDF, then converting that PDF into a high-quality image. This approach leverages the browser’s built-in PDF rendering, making it both stable and efficient for very long content. You also have the option to directly save the PDF for your own usage—no need for multiple passes or complex stitching logic. - -**Key Benefits:** -- **Reliability:** The PDF export never times out and works regardless of page length. -- **Versatility:** Get both the PDF and a screenshot in one crawl, without reloading or reprocessing. -- **Performance:** Skips manual scrolling and stitching images, reducing complexity and runtime. - -**Simple Example:** -```python -import os -import sys -import asyncio -from crawl4ai import AsyncWebCrawler, CacheMode, CrawlerRunConfig - -# Adjust paths as needed -parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -sys.path.append(parent_dir) -__location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) - -async def main(): - async with AsyncWebCrawler() as crawler: - # Request both PDF and screenshot - result = await crawler.arun( - url='https://en.wikipedia.org/wiki/List_of_common_misconceptions', - config=CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - pdf=True, - screenshot=True - ) - ) - - if result.success: - # Save screenshot - if result.screenshot: - from base64 import b64decode - with open(os.path.join(__location__, "screenshot.png"), "wb") as f: - f.write(b64decode(result.screenshot)) - - # Save PDF - if result.pdf: - with open(os.path.join(__location__, "page.pdf"), "wb") as f: - f.write(result.pdf) - -if __name__ == "__main__": - asyncio.run(main()) -``` - -**What Happens Under the Hood:** -- Crawl4AI navigates to the target page. -- If `pdf=True`, it exports the current page as a full PDF, capturing all of its content no matter the length. -- If `screenshot=True`, and a PDF is already available, it directly converts the first page of that PDF to an image for you—no repeated loading or scrolling. -- Finally, you get your PDF and/or screenshot ready to use. - -**Conclusion:** -With this feature, Crawl4AI becomes even more robust and versatile for large-scale content extraction. Whether you need a PDF snapshot or a quick screenshot, you now have a reliable solution for even the most extensive webpages. -``` - - -## File: docs/examples/hello_world.py - -```py -import asyncio -from crawl4ai import ( - AsyncWebCrawler, - BrowserConfig, - CrawlerRunConfig, - DefaultMarkdownGenerator, - PruningContentFilter, - CrawlResult -) - - -async def main(): - browser_config = BrowserConfig( - headless=False, - verbose=True, - ) - async with AsyncWebCrawler(config=browser_config) as crawler: - crawler_config = CrawlerRunConfig( - markdown_generator=DefaultMarkdownGenerator( - content_filter=PruningContentFilter() - ), - ) - result: CrawlResult = await crawler.arun( - url="https://www.helloworld.org", config=crawler_config - ) - print(result.markdown.raw_markdown[:500]) - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/hooks_example.py - -```py -from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode -from playwright.async_api import Page, BrowserContext - - -async def main(): - print("🔗 Hooks Example: Demonstrating different hook use cases") - - # Configure browser settings - browser_config = BrowserConfig(headless=True) - - # Configure crawler settings - crawler_run_config = CrawlerRunConfig( - js_code="window.scrollTo(0, document.body.scrollHeight);", - wait_for="body", - cache_mode=CacheMode.BYPASS, - ) - - # Create crawler instance - crawler = AsyncWebCrawler(config=browser_config) - - # Define and set hook functions - async def on_browser_created(browser, context: BrowserContext, **kwargs): - """Hook called after the browser is created""" - print("[HOOK] on_browser_created - Browser is ready!") - # Example: Set a cookie that will be used for all requests - return browser - - async def on_page_context_created(page: Page, context: BrowserContext, **kwargs): - """Hook called after a new page and context are created""" - print("[HOOK] on_page_context_created - New page created!") - # Example: Set default viewport size - await context.add_cookies( - [ - { - "name": "session_id", - "value": "example_session", - "domain": ".example.com", - "path": "/", - } - ] - ) - await page.set_viewport_size({"width": 1080, "height": 800}) - return page - - async def on_user_agent_updated( - page: Page, context: BrowserContext, user_agent: str, **kwargs - ): - """Hook called when the user agent is updated""" - print(f"[HOOK] on_user_agent_updated - New user agent: {user_agent}") - return page - - async def on_execution_started(page: Page, context: BrowserContext, **kwargs): - """Hook called after custom JavaScript execution""" - print("[HOOK] on_execution_started - Custom JS executed!") - return page - - async def before_goto(page: Page, context: BrowserContext, url: str, **kwargs): - """Hook called before navigating to each URL""" - print(f"[HOOK] before_goto - About to visit: {url}") - # Example: Add custom headers for the request - await page.set_extra_http_headers({"Custom-Header": "my-value"}) - return page - - async def after_goto( - page: Page, context: BrowserContext, url: str, response: dict, **kwargs - ): - """Hook called after navigating to each URL""" - print(f"[HOOK] after_goto - Successfully loaded: {url}") - # Example: Wait for a specific element to be loaded - try: - await page.wait_for_selector(".content", timeout=1000) - print("Content element found!") - except: - print("Content element not found, continuing anyway") - return page - - async def before_retrieve_html(page: Page, context: BrowserContext, **kwargs): - """Hook called before retrieving the HTML content""" - print("[HOOK] before_retrieve_html - About to get HTML content") - # Example: Scroll to bottom to trigger lazy loading - await page.evaluate("window.scrollTo(0, document.body.scrollHeight);") - return page - - async def before_return_html( - page: Page, context: BrowserContext, html: str, **kwargs - ): - """Hook called before returning the HTML content""" - print(f"[HOOK] before_return_html - Got HTML content (length: {len(html)})") - # Example: You could modify the HTML content here if needed - return page - - # Set all the hooks - crawler.crawler_strategy.set_hook("on_browser_created", on_browser_created) - crawler.crawler_strategy.set_hook( - "on_page_context_created", on_page_context_created - ) - crawler.crawler_strategy.set_hook("on_user_agent_updated", on_user_agent_updated) - crawler.crawler_strategy.set_hook("on_execution_started", on_execution_started) - crawler.crawler_strategy.set_hook("before_goto", before_goto) - crawler.crawler_strategy.set_hook("after_goto", after_goto) - crawler.crawler_strategy.set_hook("before_retrieve_html", before_retrieve_html) - crawler.crawler_strategy.set_hook("before_return_html", before_return_html) - - await crawler.start() - - # Example usage: crawl a simple website - url = "https://example.com" - result = await crawler.arun(url, config=crawler_run_config) - print(f"\nCrawled URL: {result.url}") - print(f"HTML length: {len(result.html)}") - - await crawler.close() - - -if __name__ == "__main__": - import asyncio - - asyncio.run(main()) - -``` - - -## File: docs/examples/identity_based_browsing.py - -```py -""" -Identity-Based Browsing Example with Crawl4AI - -This example demonstrates how to: -1. Create a persistent browser profile interactively -2. List available profiles -3. Use a saved profile for crawling authenticated sites -4. Delete profiles when no longer needed - -Uses the new BrowserProfiler class for profile management. -""" - -import asyncio -from crawl4ai import AsyncWebCrawler, BrowserConfig -from crawl4ai.browser_profiler import BrowserProfiler -from crawl4ai.async_logger import AsyncLogger -from colorama import Fore, Style, init - -# Initialize colorama -init() - -# Create a shared logger instance -logger = AsyncLogger(verbose=True) - -# Create a shared BrowserProfiler instance -profiler = BrowserProfiler(logger=logger) - - -async def crawl_with_profile(profile_path, url): - """Use a profile to crawl an authenticated page""" - logger.info(f"\nCrawling {Fore.CYAN}{url}{Style.RESET_ALL} using profile at {Fore.YELLOW}{profile_path}{Style.RESET_ALL}", tag="CRAWL") - - # Create browser config with the profile path - browser_config = BrowserConfig( - headless=False, # Set to False if you want to see the browser window - use_managed_browser=True, # Required for persistent profiles - user_data_dir=profile_path - ) - - start_time = asyncio.get_event_loop().time() - - # Initialize crawler with the browser config - async with AsyncWebCrawler(config=browser_config) as crawler: - # Crawl the URL - You should have access to authenticated content now - result = await crawler.arun(url) - - elapsed_time = asyncio.get_event_loop().time() - start_time - - if result.success: - # Use url_status method for consistent logging - logger.url_status(url, True, elapsed_time, tag="CRAWL") - - # Print page title or some indication of success - title = result.metadata.get("title", "") - logger.success(f"Page title: {Fore.GREEN}{title}{Style.RESET_ALL}", tag="CRAWL") - return result - else: - # Log error status - logger.error_status(url, result.error_message, tag="CRAWL") - return None - - -async def main(): - logger.info(f"{Fore.CYAN}Identity-Based Browsing Example with Crawl4AI{Style.RESET_ALL}", tag="DEMO") - logger.info("This example demonstrates using profiles for authenticated browsing", tag="DEMO") - - # Choose between interactive mode and automatic mode - mode = input(f"{Fore.CYAN}Run in [i]nteractive mode or [a]utomatic mode? (i/a): {Style.RESET_ALL}").lower() - - if mode == 'i': - # Interactive profile management - use the interactive_manager method - # Pass the crawl_with_profile function as the callback for the "crawl a website" option - await profiler.interactive_manager(crawl_callback=crawl_with_profile) - else: - # Automatic mode - simplified example - profiles = profiler.list_profiles() - - if not profiles: - # Create a new profile if none exists - logger.info("No profiles found. Creating a new one...", tag="DEMO") - profile_path = await profiler.create_profile() - if not profile_path: - logger.error("Cannot proceed without a valid profile", tag="DEMO") - return - else: - # Use the first (most recent) profile - profile_path = profiles[0]["path"] - logger.info(f"Using existing profile: {Fore.CYAN}{profiles[0]['name']}{Style.RESET_ALL}", tag="DEMO") - - # Example: Crawl an authenticated page - urls_to_crawl = [ - "https://github.com/settings/profile", # GitHub requires login - # "https://twitter.com/home", # Twitter requires login - # "https://www.linkedin.com/feed/", # LinkedIn requires login - ] - - for url in urls_to_crawl: - await crawl_with_profile(profile_path, url) - - -if __name__ == "__main__": - try: - # Run the async main function - asyncio.run(main()) - except KeyboardInterrupt: - logger.warning("Example interrupted by user", tag="DEMO") - except Exception as e: - logger.error(f"Error in example: {str(e)}", tag="DEMO") -``` - - -## File: docs/examples/language_support_example.py - -```py -import asyncio -from crawl4ai import AsyncWebCrawler, AsyncPlaywrightCrawlerStrategy - - -async def main(): - # Example 1: Setting language when creating the crawler - crawler1 = AsyncWebCrawler( - crawler_strategy=AsyncPlaywrightCrawlerStrategy( - headers={"Accept-Language": "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7"} - ) - ) - result1 = await crawler1.arun("https://www.example.com") - print( - "Example 1 result:", result1.extracted_content[:100] - ) # Print first 100 characters - - # Example 2: Setting language before crawling - crawler2 = AsyncWebCrawler() - crawler2.crawler_strategy.headers[ - "Accept-Language" - ] = "es-ES,es;q=0.9,en-US;q=0.8,en;q=0.7" - result2 = await crawler2.arun("https://www.example.com") - print("Example 2 result:", result2.extracted_content[:100]) - - # Example 3: Setting language when calling arun method - crawler3 = AsyncWebCrawler() - result3 = await crawler3.arun( - "https://www.example.com", - headers={"Accept-Language": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7"}, - ) - print("Example 3 result:", result3.extracted_content[:100]) - - # Example 4: Crawling multiple pages with different languages - urls = [ - ("https://www.example.com", "fr-FR,fr;q=0.9"), - ("https://www.example.org", "es-ES,es;q=0.9"), - ("https://www.example.net", "de-DE,de;q=0.9"), - ] - - crawler4 = AsyncWebCrawler() - results = await asyncio.gather( - *[crawler4.arun(url, headers={"Accept-Language": lang}) for url, lang in urls] - ) - - for url, result in zip([u for u, _ in urls], results): - print(f"Result for {url}:", result.extracted_content[:100]) - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/llm_extraction_openai_pricing.py - -```py -from crawl4ai import LLMConfig -from crawl4ai import AsyncWebCrawler, LLMExtractionStrategy -import asyncio -import os -import json -from pydantic import BaseModel, Field - -url = "https://openai.com/api/pricing/" - - -class OpenAIModelFee(BaseModel): - model_name: str = Field(..., description="Name of the OpenAI model.") - input_fee: str = Field(..., description="Fee for input token for the OpenAI model.") - output_fee: str = Field( - ..., description="Fee for output token for the OpenAI model." - ) - -async def main(): - # Use AsyncWebCrawler - async with AsyncWebCrawler() as crawler: - result = await crawler.arun( - url=url, - word_count_threshold=1, - extraction_strategy=LLMExtractionStrategy( - # provider= "openai/gpt-4o", api_token = os.getenv('OPENAI_API_KEY'), - llm_config=LLMConfig(provider="groq/llama-3.1-70b-versatile", api_token=os.getenv("GROQ_API_KEY")), - schema=OpenAIModelFee.model_json_schema(), - extraction_type="schema", - instruction="From the crawled content, extract all mentioned model names along with their " - "fees for input and output tokens. Make sure not to miss anything in the entire content. " - "One extracted model JSON format should look like this: " - '{ "model_name": "GPT-4", "input_fee": "US$10.00 / 1M tokens", "output_fee": "US$30.00 / 1M tokens" }', - ), - ) - print("Success:", result.success) - model_fees = json.loads(result.extracted_content) - print(len(model_fees)) - - with open(".data/data.json", "w", encoding="utf-8") as f: - f.write(result.extracted_content) - - -asyncio.run(main()) - -``` - - -## File: docs/examples/llm_markdown_generator.py - -```py -import os -import asyncio -from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode -from crawl4ai import LLMConfig -from crawl4ai.content_filter_strategy import LLMContentFilter - -async def test_llm_filter(): - # Create an HTML source that needs intelligent filtering - url = "https://docs.python.org/3/tutorial/classes.html" - - browser_config = BrowserConfig( - headless=True, - verbose=True - ) - - # run_config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS) - run_config = CrawlerRunConfig(cache_mode=CacheMode.ENABLED) - - async with AsyncWebCrawler(config=browser_config) as crawler: - # First get the raw HTML - result = await crawler.arun(url, config=run_config) - html = result.cleaned_html - - # Initialize LLM filter with focused instruction - filter = LLMContentFilter( - llm_config=LLMConfig(provider="openai/gpt-4o", api_token=os.getenv('OPENAI_API_KEY')), - instruction=""" - Focus on extracting the core educational content about Python classes. - Include: - - Key concepts and their explanations - - Important code examples - - Essential technical details - Exclude: - - Navigation elements - - Sidebars - - Footer content - - Version information - - Any non-essential UI elements - - Format the output as clean markdown with proper code blocks and headers. - """, - verbose=True - ) - - filter = LLMContentFilter( - llm_config=LLMConfig(provider="openai/gpt-4o",api_token=os.getenv('OPENAI_API_KEY')), - chunk_token_threshold=2 ** 12 * 2, # 2048 * 2 - ignore_cache = True, - instruction=""" - Extract the main educational content while preserving its original wording and substance completely. Your task is to: - - 1. Maintain the exact language and terminology used in the main content - 2. Keep all technical explanations, examples, and educational content intact - 3. Preserve the original flow and structure of the core content - 4. Remove only clearly irrelevant elements like: - - Navigation menus - - Advertisement sections - - Cookie notices - - Footers with site information - - Sidebars with external links - - Any UI elements that don't contribute to learning - - The goal is to create a clean markdown version that reads exactly like the original article, - keeping all valuable content but free from distracting elements. Imagine you're creating - a perfect reading experience where nothing valuable is lost, but all noise is removed. - """, - verbose=True - ) - - # Apply filtering - filtered_content = filter.filter_content(html) - - # Show results - print("\nFiltered Content Length:", len(filtered_content)) - print("\nFirst 500 chars of filtered content:") - if filtered_content: - print(filtered_content[0][:500]) - - # Save on disc the markdown version - with open("filtered_content.md", "w", encoding="utf-8") as f: - f.write("\n".join(filtered_content)) - - # Show token usage - filter.show_usage() - -if __name__ == "__main__": - asyncio.run(test_llm_filter()) -``` - - -## File: docs/examples/network_console_capture_example.py - -```py -import asyncio -import json -import os -import base64 -from pathlib import Path -from typing import List, Dict, Any -from datetime import datetime - -from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode, CrawlResult -from crawl4ai import BrowserConfig - -__cur_dir__ = Path(__file__).parent - -# Create temp directory if it doesn't exist -os.makedirs(os.path.join(__cur_dir__, "tmp"), exist_ok=True) - -async def demo_basic_network_capture(): - """Basic network request capturing example""" - print("\n=== 1. Basic Network Request Capturing ===") - - async with AsyncWebCrawler() as crawler: - config = CrawlerRunConfig( - capture_network_requests=True, - wait_until="networkidle" # Wait for network to be idle - ) - - result = await crawler.arun( - url="https://example.com/", - config=config - ) - - if result.success and result.network_requests: - print(f"Captured {len(result.network_requests)} network events") - - # Count by event type - event_types = {} - for req in result.network_requests: - event_type = req.get("event_type", "unknown") - event_types[event_type] = event_types.get(event_type, 0) + 1 - - print("Event types:") - for event_type, count in event_types.items(): - print(f" - {event_type}: {count}") - - # Show a sample request and response - request = next((r for r in result.network_requests if r.get("event_type") == "request"), None) - response = next((r for r in result.network_requests if r.get("event_type") == "response"), None) - - if request: - print("\nSample request:") - print(f" URL: {request.get('url')}") - print(f" Method: {request.get('method')}") - print(f" Headers: {list(request.get('headers', {}).keys())}") - - if response: - print("\nSample response:") - print(f" URL: {response.get('url')}") - print(f" Status: {response.get('status')} {response.get('status_text', '')}") - print(f" Headers: {list(response.get('headers', {}).keys())}") - -async def demo_basic_console_capture(): - """Basic console message capturing example""" - print("\n=== 2. Basic Console Message Capturing ===") - - # Create a simple HTML file with console messages - html_file = os.path.join(__cur_dir__, "tmp", "console_test.html") - with open(html_file, "w") as f: - f.write(""" - - - - Console Test - - -

Console Message Test

- - - - """) - - async with AsyncWebCrawler() as crawler: - config = CrawlerRunConfig( - capture_console_messages=True, - wait_until="networkidle" # Wait to make sure all scripts execute - ) - - result = await crawler.arun( - url=f"file://{html_file}", - config=config - ) - - if result.success and result.console_messages: - print(f"Captured {len(result.console_messages)} console messages") - - # Count by message type - message_types = {} - for msg in result.console_messages: - msg_type = msg.get("type", "unknown") - message_types[msg_type] = message_types.get(msg_type, 0) + 1 - - print("Message types:") - for msg_type, count in message_types.items(): - print(f" - {msg_type}: {count}") - - # Show all messages - print("\nAll console messages:") - for i, msg in enumerate(result.console_messages, 1): - print(f" {i}. [{msg.get('type', 'unknown')}] {msg.get('text', '')}") - -async def demo_combined_capture(): - """Capturing both network requests and console messages""" - print("\n=== 3. Combined Network and Console Capture ===") - - async with AsyncWebCrawler() as crawler: - config = CrawlerRunConfig( - capture_network_requests=True, - capture_console_messages=True, - wait_until="networkidle" - ) - - result = await crawler.arun( - url="https://httpbin.org/html", - config=config - ) - - if result.success: - network_count = len(result.network_requests) if result.network_requests else 0 - console_count = len(result.console_messages) if result.console_messages else 0 - - print(f"Captured {network_count} network events and {console_count} console messages") - - # Save the captured data to a JSON file for analysis - output_file = os.path.join(__cur_dir__, "tmp", "capture_data.json") - with open(output_file, "w") as f: - json.dump({ - "url": result.url, - "timestamp": datetime.now().isoformat(), - "network_requests": result.network_requests, - "console_messages": result.console_messages - }, f, indent=2) - - print(f"Full capture data saved to {output_file}") - -async def analyze_spa_network_traffic(): - """Analyze network traffic of a Single-Page Application""" - print("\n=== 4. Analyzing SPA Network Traffic ===") - - async with AsyncWebCrawler(config=BrowserConfig( - headless=True, - viewport_width=1280, - viewport_height=800 - )) as crawler: - config = CrawlerRunConfig( - capture_network_requests=True, - capture_console_messages=True, - # Wait longer to ensure all resources are loaded - wait_until="networkidle", - page_timeout=60000, # 60 seconds - ) - - result = await crawler.arun( - url="https://weather.com", - config=config - ) - - if result.success and result.network_requests: - # Extract different types of requests - requests = [] - responses = [] - failures = [] - - for event in result.network_requests: - event_type = event.get("event_type") - if event_type == "request": - requests.append(event) - elif event_type == "response": - responses.append(event) - elif event_type == "request_failed": - failures.append(event) - - print(f"Captured {len(requests)} requests, {len(responses)} responses, and {len(failures)} failures") - - # Analyze request types - resource_types = {} - for req in requests: - resource_type = req.get("resource_type", "unknown") - resource_types[resource_type] = resource_types.get(resource_type, 0) + 1 - - print("\nResource types:") - for resource_type, count in sorted(resource_types.items(), key=lambda x: x[1], reverse=True): - print(f" - {resource_type}: {count}") - - # Analyze API calls - api_calls = [r for r in requests if "api" in r.get("url", "").lower()] - if api_calls: - print(f"\nDetected {len(api_calls)} API calls:") - for i, call in enumerate(api_calls[:5], 1): # Show first 5 - print(f" {i}. {call.get('method')} {call.get('url')}") - if len(api_calls) > 5: - print(f" ... and {len(api_calls) - 5} more") - - # Analyze response status codes - status_codes = {} - for resp in responses: - status = resp.get("status", 0) - status_codes[status] = status_codes.get(status, 0) + 1 - - print("\nResponse status codes:") - for status, count in sorted(status_codes.items()): - print(f" - {status}: {count}") - - # Analyze failures - if failures: - print("\nFailed requests:") - for i, failure in enumerate(failures[:5], 1): # Show first 5 - print(f" {i}. {failure.get('url')} - {failure.get('failure_text')}") - if len(failures) > 5: - print(f" ... and {len(failures) - 5} more") - - # Check for console errors - if result.console_messages: - errors = [msg for msg in result.console_messages if msg.get("type") == "error"] - if errors: - print(f"\nDetected {len(errors)} console errors:") - for i, error in enumerate(errors[:3], 1): # Show first 3 - print(f" {i}. {error.get('text', '')[:100]}...") - if len(errors) > 3: - print(f" ... and {len(errors) - 3} more") - - # Save analysis to file - output_file = os.path.join(__cur_dir__, "tmp", "weather_network_analysis.json") - with open(output_file, "w") as f: - json.dump({ - "url": result.url, - "timestamp": datetime.now().isoformat(), - "statistics": { - "request_count": len(requests), - "response_count": len(responses), - "failure_count": len(failures), - "resource_types": resource_types, - "status_codes": {str(k): v for k, v in status_codes.items()}, - "api_call_count": len(api_calls), - "console_error_count": len(errors) if result.console_messages else 0 - }, - "network_requests": result.network_requests, - "console_messages": result.console_messages - }, f, indent=2) - - print(f"\nFull analysis saved to {output_file}") - -async def demo_security_analysis(): - """Using network capture for security analysis""" - print("\n=== 5. Security Analysis with Network Capture ===") - - async with AsyncWebCrawler() as crawler: - config = CrawlerRunConfig( - capture_network_requests=True, - capture_console_messages=True, - wait_until="networkidle" - ) - - # A site that makes multiple third-party requests - result = await crawler.arun( - url="https://www.nytimes.com/", - config=config - ) - - if result.success and result.network_requests: - print(f"Captured {len(result.network_requests)} network events") - - # Extract all domains - domains = set() - for req in result.network_requests: - if req.get("event_type") == "request": - url = req.get("url", "") - try: - from urllib.parse import urlparse - domain = urlparse(url).netloc - if domain: - domains.add(domain) - except: - pass - - print(f"\nDetected requests to {len(domains)} unique domains:") - main_domain = urlparse(result.url).netloc - - # Separate first-party vs third-party domains - first_party = [d for d in domains if main_domain in d] - third_party = [d for d in domains if main_domain not in d] - - print(f" - First-party domains: {len(first_party)}") - print(f" - Third-party domains: {len(third_party)}") - - # Look for potential trackers/analytics - tracking_keywords = ["analytics", "tracker", "pixel", "tag", "stats", "metric", "collect", "beacon"] - potential_trackers = [] - - for domain in third_party: - if any(keyword in domain.lower() for keyword in tracking_keywords): - potential_trackers.append(domain) - - if potential_trackers: - print(f"\nPotential tracking/analytics domains ({len(potential_trackers)}):") - for i, domain in enumerate(sorted(potential_trackers)[:10], 1): - print(f" {i}. {domain}") - if len(potential_trackers) > 10: - print(f" ... and {len(potential_trackers) - 10} more") - - # Check for insecure (HTTP) requests - insecure_requests = [ - req.get("url") for req in result.network_requests - if req.get("event_type") == "request" and req.get("url", "").startswith("http://") - ] - - if insecure_requests: - print(f"\nWarning: Found {len(insecure_requests)} insecure (HTTP) requests:") - for i, url in enumerate(insecure_requests[:5], 1): - print(f" {i}. {url}") - if len(insecure_requests) > 5: - print(f" ... and {len(insecure_requests) - 5} more") - - # Save security analysis to file - output_file = os.path.join(__cur_dir__, "tmp", "security_analysis.json") - with open(output_file, "w") as f: - json.dump({ - "url": result.url, - "main_domain": main_domain, - "timestamp": datetime.now().isoformat(), - "analysis": { - "total_requests": len([r for r in result.network_requests if r.get("event_type") == "request"]), - "unique_domains": len(domains), - "first_party_domains": first_party, - "third_party_domains": third_party, - "potential_trackers": potential_trackers, - "insecure_requests": insecure_requests - } - }, f, indent=2) - - print(f"\nFull security analysis saved to {output_file}") - -async def demo_performance_analysis(): - """Using network capture for performance analysis""" - print("\n=== 6. Performance Analysis with Network Capture ===") - - async with AsyncWebCrawler() as crawler: - config = CrawlerRunConfig( - capture_network_requests=True, - page_timeout=60 * 2 * 1000 # 120 seconds - ) - - result = await crawler.arun( - url="https://www.cnn.com/", - config=config - ) - - if result.success and result.network_requests: - # Filter only response events with timing information - responses_with_timing = [ - r for r in result.network_requests - if r.get("event_type") == "response" and r.get("request_timing") - ] - - if responses_with_timing: - print(f"Analyzing timing for {len(responses_with_timing)} network responses") - - # Group by resource type - resource_timings = {} - for resp in responses_with_timing: - url = resp.get("url", "") - timing = resp.get("request_timing", {}) - - # Determine resource type from URL extension - ext = url.split(".")[-1].lower() if "." in url.split("/")[-1] else "unknown" - if ext in ["jpg", "jpeg", "png", "gif", "webp", "svg", "ico"]: - resource_type = "image" - elif ext in ["js"]: - resource_type = "javascript" - elif ext in ["css"]: - resource_type = "css" - elif ext in ["woff", "woff2", "ttf", "otf", "eot"]: - resource_type = "font" - else: - resource_type = "other" - - if resource_type not in resource_timings: - resource_timings[resource_type] = [] - - # Calculate request duration if timing information is available - if isinstance(timing, dict) and "requestTime" in timing and "receiveHeadersEnd" in timing: - # Convert to milliseconds - duration = (timing["receiveHeadersEnd"] - timing["requestTime"]) * 1000 - resource_timings[resource_type].append({ - "url": url, - "duration_ms": duration - }) - if isinstance(timing, dict) and "requestStart" in timing and "responseStart" in timing and "startTime" in timing: - # Convert to milliseconds - duration = (timing["responseStart"] - timing["requestStart"]) * 1000 - resource_timings[resource_type].append({ - "url": url, - "duration_ms": duration - }) - - # Calculate statistics for each resource type - print("\nPerformance by resource type:") - for resource_type, timings in resource_timings.items(): - if timings: - durations = [t["duration_ms"] for t in timings] - avg_duration = sum(durations) / len(durations) - max_duration = max(durations) - slowest_resource = next(t["url"] for t in timings if t["duration_ms"] == max_duration) - - print(f" {resource_type.upper()}:") - print(f" - Count: {len(timings)}") - print(f" - Avg time: {avg_duration:.2f} ms") - print(f" - Max time: {max_duration:.2f} ms") - print(f" - Slowest: {slowest_resource}") - - # Identify the slowest resources overall - all_timings = [] - for resource_type, timings in resource_timings.items(): - for timing in timings: - timing["type"] = resource_type - all_timings.append(timing) - - all_timings.sort(key=lambda x: x["duration_ms"], reverse=True) - - print("\nTop 5 slowest resources:") - for i, timing in enumerate(all_timings[:5], 1): - print(f" {i}. [{timing['type']}] {timing['url']} - {timing['duration_ms']:.2f} ms") - - # Save performance analysis to file - output_file = os.path.join(__cur_dir__, "tmp", "performance_analysis.json") - with open(output_file, "w") as f: - json.dump({ - "url": result.url, - "timestamp": datetime.now().isoformat(), - "resource_timings": resource_timings, - "slowest_resources": all_timings[:10] # Save top 10 - }, f, indent=2) - - print(f"\nFull performance analysis saved to {output_file}") - -async def main(): - """Run all demo functions sequentially""" - print("=== Network and Console Capture Examples ===") - - # Make sure tmp directory exists - os.makedirs(os.path.join(__cur_dir__, "tmp"), exist_ok=True) - - # Run basic examples - # await demo_basic_network_capture() - await demo_basic_console_capture() - # await demo_combined_capture() - - # Run advanced examples - # await analyze_spa_network_traffic() - # await demo_security_analysis() - # await demo_performance_analysis() - - print("\n=== Examples Complete ===") - print(f"Check the tmp directory for output files: {os.path.join(__cur_dir__, 'tmp')}") - -if __name__ == "__main__": - asyncio.run(main()) -``` - - -## File: docs/examples/proxy_rotation_demo.py - -```py -import os -import re -from typing import List, Dict -from crawl4ai import ( - AsyncWebCrawler, - BrowserConfig, - CrawlerRunConfig, - CacheMode, - RoundRobinProxyStrategy -) - -def load_proxies_from_env() -> List[Dict]: - """Load proxies from PROXIES environment variable""" - proxies = [] - try: - proxy_list = os.getenv("PROXIES", "").split(",") - for proxy in proxy_list: - if not proxy: - continue - ip, port, username, password = proxy.split(":") - proxies.append({ - "server": f"http://{ip}:{port}", - "username": username, - "password": password, - "ip": ip # Store original IP for verification - }) - except Exception as e: - print(f"Error loading proxies from environment: {e}") - return proxies - -async def demo_proxy_rotation(): - """ - Proxy Rotation Demo using RoundRobinProxyStrategy - =============================================== - Demonstrates proxy rotation using the strategy pattern. - """ - print("\n=== Proxy Rotation Demo (Round Robin) ===") - - # Load proxies and create rotation strategy - proxies = load_proxies_from_env() - if not proxies: - print("No proxies found in environment. Set PROXIES env variable!") - return - - proxy_strategy = RoundRobinProxyStrategy(proxies) - - # Create configs - browser_config = BrowserConfig(headless=True, verbose=False) - run_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - proxy_rotation_strategy=proxy_strategy - ) - - # Test URLs - urls = ["https://httpbin.org/ip"] * len(proxies) # Test each proxy once - - async with AsyncWebCrawler(config=browser_config) as crawler: - for url in urls: - result = await crawler.arun(url=url, config=run_config) - - if result.success: - # Extract IP from response - ip_match = re.search(r'(?:[0-9]{1,3}\.){3}[0-9]{1,3}', result.html) - current_proxy = run_config.proxy_config if run_config.proxy_config else None - - if current_proxy: - print(f"Proxy {current_proxy['server']} -> Response IP: {ip_match.group(0) if ip_match else 'Not found'}") - verified = ip_match and ip_match.group(0) == current_proxy['ip'] - if verified: - print(f"✅ Proxy working! IP matches: {current_proxy['ip']}") - else: - print("❌ Proxy failed or IP mismatch!") - else: - print(f"Request failed: {result.error_message}") - -async def demo_proxy_rotation_batch(): - """ - Proxy Rotation Demo with Batch Processing - ======================================= - Demonstrates proxy rotation using arun_many with memory dispatcher. - """ - print("\n=== Proxy Rotation Batch Demo ===") - - try: - # Load proxies and create rotation strategy - proxies = load_proxies_from_env() - if not proxies: - print("No proxies found in environment. Set PROXIES env variable!") - return - - proxy_strategy = RoundRobinProxyStrategy(proxies) - - # Configurations - browser_config = BrowserConfig(headless=True, verbose=False) - run_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - proxy_rotation_strategy=proxy_strategy, - markdown_generator=DefaultMarkdownGenerator() - ) - - # Test URLs - multiple requests to test rotation - urls = ["https://httpbin.org/ip"] * (len(proxies) * 2) # Test each proxy twice - - print("\n📈 Initializing crawler with proxy rotation...") - async with AsyncWebCrawler(config=browser_config) as crawler: - monitor = CrawlerMonitor( - max_visible_rows=10, - display_mode=DisplayMode.DETAILED - ) - - dispatcher = MemoryAdaptiveDispatcher( - memory_threshold_percent=80.0, - check_interval=0.5, - max_session_permit=1, #len(proxies), # Match concurrent sessions to proxy count - # monitor=monitor - ) - - print("\n🚀 Starting batch crawl with proxy rotation...") - results = await crawler.arun_many( - urls=urls, - config=run_config, - dispatcher=dispatcher - ) - - # Verify results - success_count = 0 - for result in results: - if result.success: - ip_match = re.search(r'(?:[0-9]{1,3}\.){3}[0-9]{1,3}', result.html) - current_proxy = run_config.proxy_config if run_config.proxy_config else None - - if current_proxy and ip_match: - print(f"URL {result.url}") - print(f"Proxy {current_proxy['server']} -> Response IP: {ip_match.group(0)}") - verified = ip_match.group(0) == current_proxy['ip'] - if verified: - print(f"✅ Proxy working! IP matches: {current_proxy['ip']}") - success_count += 1 - else: - print("❌ Proxy failed or IP mismatch!") - print("---") - - print(f"\n✅ Completed {len(results)} requests with {success_count} successful proxy verifications") - - except Exception as e: - print(f"\n❌ Error in proxy rotation batch demo: {str(e)}") - -if __name__ == "__main__": - import asyncio - from crawl4ai import ( - CrawlerMonitor, - DisplayMode, - MemoryAdaptiveDispatcher, - DefaultMarkdownGenerator - ) - - async def run_demos(): - # await demo_proxy_rotation() # Original single-request demo - await demo_proxy_rotation_batch() # New batch processing demo - - asyncio.run(run_demos()) - -``` - - -## File: docs/examples/quickstart_examples_set_1.py - -```py -import asyncio -import os -import json -import base64 -from pathlib import Path -from typing import List -from crawl4ai import ProxyConfig - -from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode, CrawlResult -from crawl4ai import RoundRobinProxyStrategy -from crawl4ai import JsonCssExtractionStrategy, LLMExtractionStrategy -from crawl4ai import LLMConfig -from crawl4ai import PruningContentFilter, BM25ContentFilter -from crawl4ai import DefaultMarkdownGenerator -from crawl4ai import BFSDeepCrawlStrategy, DomainFilter, FilterChain -from crawl4ai import BrowserConfig - -__cur_dir__ = Path(__file__).parent - -async def demo_basic_crawl(): - """Basic web crawling with markdown generation""" - print("\n=== 1. Basic Web Crawling ===") - async with AsyncWebCrawler(config = BrowserConfig( - viewport_height=800, - viewport_width=1200, - headless=True, - verbose=True, - )) as crawler: - results: List[CrawlResult] = await crawler.arun( - url="https://news.ycombinator.com/" - ) - - for i, result in enumerate(results): - print(f"Result {i + 1}:") - print(f"Success: {result.success}") - if result.success: - print(f"Markdown length: {len(result.markdown.raw_markdown)} chars") - print(f"First 100 chars: {result.markdown.raw_markdown[:100]}...") - else: - print("Failed to crawl the URL") - -async def demo_parallel_crawl(): - """Crawl multiple URLs in parallel""" - print("\n=== 2. Parallel Crawling ===") - - urls = [ - "https://news.ycombinator.com/", - "https://example.com/", - "https://httpbin.org/html", - ] - - async with AsyncWebCrawler() as crawler: - results: List[CrawlResult] = await crawler.arun_many( - urls=urls, - ) - - print(f"Crawled {len(results)} URLs in parallel:") - for i, result in enumerate(results): - print( - f" {i + 1}. {result.url} - {'Success' if result.success else 'Failed'}" - ) - -async def demo_fit_markdown(): - """Generate focused markdown with LLM content filter""" - print("\n=== 3. Fit Markdown with LLM Content Filter ===") - - async with AsyncWebCrawler() as crawler: - result: CrawlResult = await crawler.arun( - url = "https://en.wikipedia.org/wiki/Python_(programming_language)", - config=CrawlerRunConfig( - markdown_generator=DefaultMarkdownGenerator( - content_filter=PruningContentFilter() - ) - ), - ) - - # Print stats and save the fit markdown - print(f"Raw: {len(result.markdown.raw_markdown)} chars") - print(f"Fit: {len(result.markdown.fit_markdown)} chars") - -async def demo_llm_structured_extraction_no_schema(): - # Create a simple LLM extraction strategy (no schema required) - extraction_strategy = LLMExtractionStrategy( - llm_config=LLMConfig( - provider="groq/qwen-2.5-32b", - api_token="env:GROQ_API_KEY", - ), - instruction="This is news.ycombinator.com, extract all news, and for each, I want title, source url, number of comments.", - extract_type="schema", - schema="{title: string, url: string, comments: int}", - extra_args={ - "temperature": 0.0, - "max_tokens": 4096, - }, - verbose=True, - ) - - config = CrawlerRunConfig(extraction_strategy=extraction_strategy) - - async with AsyncWebCrawler() as crawler: - results: List[CrawlResult] = await crawler.arun( - "https://news.ycombinator.com/", config=config - ) - - for result in results: - print(f"URL: {result.url}") - print(f"Success: {result.success}") - if result.success: - data = json.loads(result.extracted_content) - print(json.dumps(data, indent=2)) - else: - print("Failed to extract structured data") - -async def demo_css_structured_extraction_no_schema(): - """Extract structured data using CSS selectors""" - print("\n=== 5. CSS-Based Structured Extraction ===") - # Sample HTML for schema generation (one-time cost) - sample_html = """ -
- -
-
-
- ... -
-
-
-

Malicious Python Packages on PyPI Downloaded 39,000+ Times, Steal Sensitive Data

-
- Apr 05, 2025 - Malware / Supply Chain Attack -
-
Cybersecurity researchers have...
-
-
-
-
- """ - - # Check if schema file exists - schema_file_path = f"{__cur_dir__}/tmp/schema.json" - if os.path.exists(schema_file_path): - with open(schema_file_path, "r") as f: - schema = json.load(f) - else: - # Generate schema using LLM (one-time setup) - schema = JsonCssExtractionStrategy.generate_schema( - html=sample_html, - llm_config=LLMConfig( - provider="groq/qwen-2.5-32b", - api_token="env:GROQ_API_KEY", - ), - query="From https://thehackernews.com/, I have shared a sample of one news div with a title, date, and description. Please generate a schema for this news div.", - ) - - print(f"Generated schema: {json.dumps(schema, indent=2)}") - # Save the schema to a file , and use it for future extractions, in result for such extraction you will call LLM once - with open(f"{__cur_dir__}/tmp/schema.json", "w") as f: - json.dump(schema, f, indent=2) - - # Create no-LLM extraction strategy with the generated schema - extraction_strategy = JsonCssExtractionStrategy(schema) - config = CrawlerRunConfig(extraction_strategy=extraction_strategy) - - # Use the fast CSS extraction (no LLM calls during extraction) - async with AsyncWebCrawler() as crawler: - results: List[CrawlResult] = await crawler.arun( - "https://thehackernews.com", config=config - ) - - for result in results: - print(f"URL: {result.url}") - print(f"Success: {result.success}") - if result.success: - data = json.loads(result.extracted_content) - print(json.dumps(data, indent=2)) - else: - print("Failed to extract structured data") - -async def demo_deep_crawl(): - """Deep crawling with BFS strategy""" - print("\n=== 6. Deep Crawling ===") - - filter_chain = FilterChain([DomainFilter(allowed_domains=["crawl4ai.com"])]) - - deep_crawl_strategy = BFSDeepCrawlStrategy( - max_depth=1, max_pages=5, filter_chain=filter_chain - ) - - async with AsyncWebCrawler() as crawler: - results: List[CrawlResult] = await crawler.arun( - url="https://docs.crawl4ai.com", - config=CrawlerRunConfig(deep_crawl_strategy=deep_crawl_strategy), - ) - - print(f"Deep crawl returned {len(results)} pages:") - for i, result in enumerate(results): - depth = result.metadata.get("depth", "unknown") - print(f" {i + 1}. {result.url} (Depth: {depth})") - -async def demo_js_interaction(): - """Execute JavaScript to load more content""" - print("\n=== 7. JavaScript Interaction ===") - - # A simple page that needs JS to reveal content - async with AsyncWebCrawler(config=BrowserConfig(headless=False)) as crawler: - # Initial load - - news_schema = { - "name": "news", - "baseSelector": "tr.athing", - "fields": [ - { - "name": "title", - "selector": "span.titleline", - "type": "text", - } - ], - } - results: List[CrawlResult] = await crawler.arun( - url="https://news.ycombinator.com", - config=CrawlerRunConfig( - session_id="hn_session", # Keep session - extraction_strategy=JsonCssExtractionStrategy(schema=news_schema), - ), - ) - - news = [] - for result in results: - if result.success: - data = json.loads(result.extracted_content) - news.extend(data) - print(json.dumps(data, indent=2)) - else: - print("Failed to extract structured data") - - print(f"Initial items: {len(news)}") - - # Click "More" link - more_config = CrawlerRunConfig( - js_code="document.querySelector('a.morelink').click();", - js_only=True, # Continue in same page - session_id="hn_session", # Keep session - extraction_strategy=JsonCssExtractionStrategy( - schema=news_schema, - ), - ) - - result: List[CrawlResult] = await crawler.arun( - url="https://news.ycombinator.com", config=more_config - ) - - # Extract new items - for result in results: - if result.success: - data = json.loads(result.extracted_content) - news.extend(data) - print(json.dumps(data, indent=2)) - else: - print("Failed to extract structured data") - print(f"Total items: {len(news)}") - -async def demo_media_and_links(): - """Extract media and links from a page""" - print("\n=== 8. Media and Links Extraction ===") - - async with AsyncWebCrawler() as crawler: - result: List[CrawlResult] = await crawler.arun("https://en.wikipedia.org/wiki/Main_Page") - - for i, result in enumerate(result): - # Extract and save all images - images = result.media.get("images", []) - print(f"Found {len(images)} images") - - # Extract and save all links (internal and external) - internal_links = result.links.get("internal", []) - external_links = result.links.get("external", []) - print(f"Found {len(internal_links)} internal links") - print(f"Found {len(external_links)} external links") - - # Print some of the images and links - for image in images[:3]: - print(f"Image: {image['src']}") - for link in internal_links[:3]: - print(f"Internal link: {link['href']}") - for link in external_links[:3]: - print(f"External link: {link['href']}") - - # # Save everything to files - with open(f"{__cur_dir__}/tmp/images.json", "w") as f: - json.dump(images, f, indent=2) - - with open(f"{__cur_dir__}/tmp/links.json", "w") as f: - json.dump( - {"internal": internal_links, "external": external_links}, - f, - indent=2, - ) - -async def demo_screenshot_and_pdf(): - """Capture screenshot and PDF of a page""" - print("\n=== 9. Screenshot and PDF Capture ===") - - async with AsyncWebCrawler() as crawler: - result: List[CrawlResult] = await crawler.arun( - # url="https://example.com", - url="https://en.wikipedia.org/wiki/Giant_anteater", - config=CrawlerRunConfig(screenshot=True, pdf=True), - ) - - for i, result in enumerate(result): - # if result.screenshot_data: - if result.screenshot: - # Save screenshot - screenshot_path = f"{__cur_dir__}/tmp/example_screenshot.png" - with open(screenshot_path, "wb") as f: - f.write(base64.b64decode(result.screenshot)) - print(f"Screenshot saved to {screenshot_path}") - - # if result.pdf_data: - if result.pdf: - # Save PDF - pdf_path = f"{__cur_dir__}/tmp/example.pdf" - with open(pdf_path, "wb") as f: - f.write(result.pdf) - print(f"PDF saved to {pdf_path}") - -async def demo_proxy_rotation(): - """Proxy rotation for multiple requests""" - print("\n=== 10. Proxy Rotation ===") - - # Example proxies (replace with real ones) - proxies = [ - ProxyConfig(server="http://proxy1.example.com:8080"), - ProxyConfig(server="http://proxy2.example.com:8080"), - ] - - proxy_strategy = RoundRobinProxyStrategy(proxies) - - print(f"Using {len(proxies)} proxies in rotation") - print( - "Note: This example uses placeholder proxies - replace with real ones to test" - ) - - async with AsyncWebCrawler() as crawler: - config = CrawlerRunConfig( - proxy_rotation_strategy=proxy_strategy - ) - - # In a real scenario, these would be run and the proxies would rotate - print("In a real scenario, requests would rotate through the available proxies") - -async def demo_raw_html_and_file(): - """Process raw HTML and local files""" - print("\n=== 11. Raw HTML and Local Files ===") - - raw_html = """ - -

Sample Article

-

This is sample content for testing Crawl4AI's raw HTML processing.

- - """ - - # Save to file - file_path = Path("docs/examples/tmp/sample.html").absolute() - with open(file_path, "w") as f: - f.write(raw_html) - - async with AsyncWebCrawler() as crawler: - # Crawl raw HTML - raw_result = await crawler.arun( - url="raw:" + raw_html, config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS) - ) - print("Raw HTML processing:") - print(f" Markdown: {raw_result.markdown.raw_markdown[:50]}...") - - # Crawl local file - file_result = await crawler.arun( - url=f"file://{file_path}", - config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS), - ) - print("\nLocal file processing:") - print(f" Markdown: {file_result.markdown.raw_markdown[:50]}...") - - # Clean up - os.remove(file_path) - print(f"Processed both raw HTML and local file ({file_path})") - -async def main(): - """Run all demo functions sequentially""" - print("=== Comprehensive Crawl4AI Demo ===") - print("Note: Some examples require API keys or other configurations") - - # Run all demos - await demo_basic_crawl() - await demo_parallel_crawl() - await demo_fit_markdown() - await demo_llm_structured_extraction_no_schema() - await demo_css_structured_extraction_no_schema() - await demo_deep_crawl() - await demo_js_interaction() - await demo_media_and_links() - await demo_screenshot_and_pdf() - # # await demo_proxy_rotation() - await demo_raw_html_and_file() - - # Clean up any temp files that may have been created - print("\n=== Demo Complete ===") - print("Check for any generated files (screenshots, PDFs) in the current directory") - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/quickstart.py - -```py -import os, sys - -from crawl4ai import LLMConfig - -sys.path.append( - os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -) - -import asyncio -import time -import json -import re -from typing import Dict -from bs4 import BeautifulSoup -from pydantic import BaseModel, Field -from crawl4ai import AsyncWebCrawler, CacheMode, BrowserConfig, CrawlerRunConfig -from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator -from crawl4ai.content_filter_strategy import PruningContentFilter -from crawl4ai.extraction_strategy import ( - JsonCssExtractionStrategy, - LLMExtractionStrategy, -) - -__location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) - -print("Crawl4AI: Advanced Web Crawling and Data Extraction") -print("GitHub Repository: https://github.com/unclecode/crawl4ai") -print("Twitter: @unclecode") -print("Website: https://crawl4ai.com") - - -# Basic Example - Simple Crawl -async def simple_crawl(): - print("\n--- Basic Usage ---") - browser_config = BrowserConfig(headless=True) - crawler_config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS) - - async with AsyncWebCrawler(config=browser_config) as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business", config=crawler_config - ) - print(result.markdown[:500]) - - -async def clean_content(): - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - excluded_tags=["nav", "footer", "aside"], - remove_overlay_elements=True, - markdown_generator=DefaultMarkdownGenerator( - content_filter=PruningContentFilter( - threshold=0.48, threshold_type="fixed", min_word_threshold=0 - ), - options={"ignore_links": True}, - ), - ) - async with AsyncWebCrawler() as crawler: - result = await crawler.arun( - url="https://en.wikipedia.org/wiki/Apple", - config=crawler_config, - ) - full_markdown_length = len(result.markdown.raw_markdown) - fit_markdown_length = len(result.markdown.fit_markdown) - print(f"Full Markdown Length: {full_markdown_length}") - print(f"Fit Markdown Length: {fit_markdown_length}") - - -async def link_analysis(): - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.ENABLED, - exclude_external_links=True, - exclude_social_media_links=True, - ) - async with AsyncWebCrawler() as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business", - config=crawler_config, - ) - print(f"Found {len(result.links['internal'])} internal links") - print(f"Found {len(result.links['external'])} external links") - - for link in result.links["internal"][:5]: - print(f"Href: {link['href']}\nText: {link['text']}\n") - - -# JavaScript Execution Example -async def simple_example_with_running_js_code(): - print("\n--- Executing JavaScript and Using CSS Selectors ---") - - browser_config = BrowserConfig(headless=True, java_script_enabled=True) - - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - js_code="const loadMoreButton = Array.from(document.querySelectorAll('button')).find(button => button.textContent.includes('Load More')); loadMoreButton && loadMoreButton.click();", - # wait_for="() => { return Array.from(document.querySelectorAll('article.tease-card')).length > 10; }" - ) - - async with AsyncWebCrawler(config=browser_config) as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business", config=crawler_config - ) - print(result.markdown[:500]) - - -# CSS Selector Example -async def simple_example_with_css_selector(): - print("\n--- Using CSS Selectors ---") - browser_config = BrowserConfig(headless=True) - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, css_selector=".wide-tease-item__description" - ) - - async with AsyncWebCrawler(config=browser_config) as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business", config=crawler_config - ) - print(result.markdown[:500]) - - -async def media_handling(): - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, exclude_external_images=True, screenshot=True - ) - async with AsyncWebCrawler() as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business", config=crawler_config - ) - for img in result.media["images"][:5]: - print(f"Image URL: {img['src']}, Alt: {img['alt']}, Score: {img['score']}") - - -async def custom_hook_workflow(verbose=True): - async with AsyncWebCrawler() as crawler: - # Set a 'before_goto' hook to run custom code just before navigation - crawler.crawler_strategy.set_hook( - "before_goto", - lambda page, context: print("[Hook] Preparing to navigate..."), - ) - - # Perform the crawl operation - result = await crawler.arun(url="https://crawl4ai.com") - print(result.markdown.raw_markdown[:500].replace("\n", " -- ")) - - -# Proxy Example -async def use_proxy(): - print("\n--- Using a Proxy ---") - browser_config = BrowserConfig( - headless=True, - proxy_config={ - "server": "http://proxy.example.com:8080", - "username": "username", - "password": "password", - }, - ) - crawler_config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS) - - async with AsyncWebCrawler(config=browser_config) as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business", config=crawler_config - ) - if result.success: - print(result.markdown[:500]) - - -# Screenshot Example -async def capture_and_save_screenshot(url: str, output_path: str): - browser_config = BrowserConfig(headless=True) - crawler_config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS, screenshot=True) - - async with AsyncWebCrawler(config=browser_config) as crawler: - result = await crawler.arun(url=url, config=crawler_config) - - if result.success and result.screenshot: - import base64 - - screenshot_data = base64.b64decode(result.screenshot) - with open(output_path, "wb") as f: - f.write(screenshot_data) - print(f"Screenshot saved successfully to {output_path}") - else: - print("Failed to capture screenshot") - - -# LLM Extraction Example -class OpenAIModelFee(BaseModel): - model_name: str = Field(..., description="Name of the OpenAI model.") - input_fee: str = Field(..., description="Fee for input token for the OpenAI model.") - output_fee: str = Field( - ..., description="Fee for output token for the OpenAI model." - ) - - -async def extract_structured_data_using_llm( - provider: str, api_token: str = None, extra_headers: Dict[str, str] = None -): - print(f"\n--- Extracting Structured Data with {provider} ---") - - if api_token is None and provider != "ollama": - print(f"API token is required for {provider}. Skipping this example.") - return - - browser_config = BrowserConfig(headless=True) - - extra_args = {"temperature": 0, "top_p": 0.9, "max_tokens": 2000} - if extra_headers: - extra_args["extra_headers"] = extra_headers - - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - word_count_threshold=1, - page_timeout=80000, - extraction_strategy=LLMExtractionStrategy( - llm_config=LLMConfig(provider=provider,api_token=api_token), - schema=OpenAIModelFee.model_json_schema(), - extraction_type="schema", - instruction="""From the crawled content, extract all mentioned model names along with their fees for input and output tokens. - Do not miss any models in the entire content.""", - extra_args=extra_args, - ), - ) - - async with AsyncWebCrawler(config=browser_config) as crawler: - result = await crawler.arun( - url="https://openai.com/api/pricing/", config=crawler_config - ) - print(result.extracted_content) - - -# CSS Extraction Example -async def extract_structured_data_using_css_extractor(): - print("\n--- Using JsonCssExtractionStrategy for Fast Structured Output ---") - schema = { - "name": "KidoCode Courses", - "baseSelector": "section.charge-methodology .framework-collection-item.w-dyn-item", - "fields": [ - { - "name": "section_title", - "selector": "h3.heading-50", - "type": "text", - }, - { - "name": "section_description", - "selector": ".charge-content", - "type": "text", - }, - { - "name": "course_name", - "selector": ".text-block-93", - "type": "text", - }, - { - "name": "course_description", - "selector": ".course-content-text", - "type": "text", - }, - { - "name": "course_icon", - "selector": ".image-92", - "type": "attribute", - "attribute": "src", - }, - ], - } - - browser_config = BrowserConfig(headless=True, java_script_enabled=True) - - js_click_tabs = """ - (async () => { - const tabs = document.querySelectorAll("section.charge-methodology .tabs-menu-3 > div"); - for(let tab of tabs) { - tab.scrollIntoView(); - tab.click(); - await new Promise(r => setTimeout(r, 500)); - } - })(); - """ - - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - extraction_strategy=JsonCssExtractionStrategy(schema), - js_code=[js_click_tabs], - delay_before_return_html=1 - ) - - async with AsyncWebCrawler(config=browser_config) as crawler: - result = await crawler.arun( - url="https://www.kidocode.com/degrees/technology", config=crawler_config - ) - - companies = json.loads(result.extracted_content) - print(f"Successfully extracted {len(companies)} companies") - print(json.dumps(companies[0], indent=2)) - - -# Dynamic Content Examples - Method 1 -async def crawl_dynamic_content_pages_method_1(): - print("\n--- Advanced Multi-Page Crawling with JavaScript Execution ---") - first_commit = "" - - async def on_execution_started(page, **kwargs): - nonlocal first_commit - try: - while True: - await page.wait_for_selector("li.Box-sc-g0xbh4-0 h4") - commit = await page.query_selector("li.Box-sc-g0xbh4-0 h4") - commit = await commit.evaluate("(element) => element.textContent") - commit = re.sub(r"\s+", "", commit) - if commit and commit != first_commit: - first_commit = commit - break - await asyncio.sleep(0.5) - except Exception as e: - print(f"Warning: New content didn't appear after JavaScript execution: {e}") - - browser_config = BrowserConfig(headless=False, java_script_enabled=True) - - async with AsyncWebCrawler(config=browser_config) as crawler: - crawler.crawler_strategy.set_hook("on_execution_started", on_execution_started) - - url = "https://github.com/microsoft/TypeScript/commits/main" - session_id = "typescript_commits_session" - all_commits = [] - - js_next_page = """ - const button = document.querySelector('a[data-testid="pagination-next-button"]'); - if (button) button.click(); - """ - - for page in range(3): - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - css_selector="li.Box-sc-g0xbh4-0", - js_code=js_next_page if page > 0 else None, - js_only=page > 0, - session_id=session_id, - ) - - result = await crawler.arun(url=url, config=crawler_config) - assert result.success, f"Failed to crawl page {page + 1}" - - soup = BeautifulSoup(result.cleaned_html, "html.parser") - commits = soup.select("li") - all_commits.extend(commits) - - print(f"Page {page + 1}: Found {len(commits)} commits") - - print(f"Successfully crawled {len(all_commits)} commits across 3 pages") - - -# Dynamic Content Examples - Method 2 -async def crawl_dynamic_content_pages_method_2(): - print("\n--- Advanced Multi-Page Crawling with JavaScript Execution ---") - - browser_config = BrowserConfig(headless=False, java_script_enabled=True) - - js_next_page_and_wait = """ - (async () => { - const getCurrentCommit = () => { - const commits = document.querySelectorAll('li.Box-sc-g0xbh4-0 h4'); - return commits.length > 0 ? commits[0].textContent.trim() : null; - }; - - const initialCommit = getCurrentCommit(); - const button = document.querySelector('a[data-testid="pagination-next-button"]'); - if (button) button.click(); - - while (true) { - await new Promise(resolve => setTimeout(resolve, 100)); - const newCommit = getCurrentCommit(); - if (newCommit && newCommit !== initialCommit) { - break; - } - } - })(); - """ - - schema = { - "name": "Commit Extractor", - "baseSelector": "li.Box-sc-g0xbh4-0", - "fields": [ - { - "name": "title", - "selector": "h4.markdown-title", - "type": "text", - "transform": "strip", - }, - ], - } - - async with AsyncWebCrawler(config=browser_config) as crawler: - url = "https://github.com/microsoft/TypeScript/commits/main" - session_id = "typescript_commits_session" - all_commits = [] - - extraction_strategy = JsonCssExtractionStrategy(schema) - - for page in range(3): - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - css_selector="li.Box-sc-g0xbh4-0", - extraction_strategy=extraction_strategy, - js_code=js_next_page_and_wait if page > 0 else None, - js_only=page > 0, - session_id=session_id, - ) - - result = await crawler.arun(url=url, config=crawler_config) - assert result.success, f"Failed to crawl page {page + 1}" - - commits = json.loads(result.extracted_content) - all_commits.extend(commits) - print(f"Page {page + 1}: Found {len(commits)} commits") - - print(f"Successfully crawled {len(all_commits)} commits across 3 pages") - - -async def cosine_similarity_extraction(): - from crawl4ai.extraction_strategy import CosineStrategy - crawl_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - extraction_strategy=CosineStrategy( - word_count_threshold=10, - max_dist=0.2, # Maximum distance between two words - linkage_method="ward", # Linkage method for hierarchical clustering (ward, complete, average, single) - top_k=3, # Number of top keywords to extract - sim_threshold=0.3, # Similarity threshold for clustering - semantic_filter="McDonald's economic impact, American consumer trends", # Keywords to filter the content semantically using embeddings - verbose=True, - ), - ) - async with AsyncWebCrawler() as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business/consumer/how-mcdonalds-e-coli-crisis-inflation-politics-reflect-american-story-rcna177156", - config=crawl_config, - ) - print(json.loads(result.extracted_content)[:5]) - - -# Browser Comparison -async def crawl_custom_browser_type(): - print("\n--- Browser Comparison ---") - - # Firefox - browser_config_firefox = BrowserConfig(browser_type="firefox", headless=True) - start = time.time() - async with AsyncWebCrawler(config=browser_config_firefox) as crawler: - result = await crawler.arun( - url="https://www.example.com", - config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS), - ) - print("Firefox:", time.time() - start) - print(result.markdown[:500]) - - # WebKit - browser_config_webkit = BrowserConfig(browser_type="webkit", headless=True) - start = time.time() - async with AsyncWebCrawler(config=browser_config_webkit) as crawler: - result = await crawler.arun( - url="https://www.example.com", - config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS), - ) - print("WebKit:", time.time() - start) - print(result.markdown[:500]) - - # Chromium (default) - browser_config_chromium = BrowserConfig(browser_type="chromium", headless=True) - start = time.time() - async with AsyncWebCrawler(config=browser_config_chromium) as crawler: - result = await crawler.arun( - url="https://www.example.com", - config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS), - ) - print("Chromium:", time.time() - start) - print(result.markdown[:500]) - - -# Anti-Bot and User Simulation -async def crawl_with_user_simulation(): - browser_config = BrowserConfig( - headless=True, - user_agent_mode="random", - user_agent_generator_config={"device_type": "mobile", "os_type": "android"}, - ) - - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - magic=True, - simulate_user=True, - override_navigator=True, - ) - - async with AsyncWebCrawler(config=browser_config) as crawler: - result = await crawler.arun(url="YOUR-URL-HERE", config=crawler_config) - print(result.markdown) - - -async def ssl_certification(): - # Configure crawler to fetch SSL certificate - config = CrawlerRunConfig( - fetch_ssl_certificate=True, - cache_mode=CacheMode.BYPASS, # Bypass cache to always get fresh certificates - ) - - async with AsyncWebCrawler() as crawler: - result = await crawler.arun(url="https://example.com", config=config) - - if result.success and result.ssl_certificate: - cert = result.ssl_certificate - - tmp_dir = os.path.join(__location__, "tmp") - os.makedirs(tmp_dir, exist_ok=True) - - # 1. Access certificate properties directly - print("\nCertificate Information:") - print(f"Issuer: {cert.issuer.get('CN', '')}") - print(f"Valid until: {cert.valid_until}") - print(f"Fingerprint: {cert.fingerprint}") - - # 2. Export certificate in different formats - cert.to_json(os.path.join(tmp_dir, "certificate.json")) # For analysis - print("\nCertificate exported to:") - print(f"- JSON: {os.path.join(tmp_dir, 'certificate.json')}") - - pem_data = cert.to_pem( - os.path.join(tmp_dir, "certificate.pem") - ) # For web servers - print(f"- PEM: {os.path.join(tmp_dir, 'certificate.pem')}") - - der_data = cert.to_der( - os.path.join(tmp_dir, "certificate.der") - ) # For Java apps - print(f"- DER: {os.path.join(tmp_dir, 'certificate.der')}") - - -# Main execution -async def main(): - # Basic examples - await simple_crawl() - await simple_example_with_running_js_code() - await simple_example_with_css_selector() - - # Advanced examples - await extract_structured_data_using_css_extractor() - await extract_structured_data_using_llm( - "openai/gpt-4o", os.getenv("OPENAI_API_KEY") - ) - await crawl_dynamic_content_pages_method_1() - await crawl_dynamic_content_pages_method_2() - - # Browser comparisons - await crawl_custom_browser_type() - - # Screenshot example - await capture_and_save_screenshot( - "https://www.example.com", - os.path.join(__location__, "tmp/example_screenshot.jpg") - ) - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/regex_extraction_quickstart.py - -```py -# == File: regex_extraction_quickstart.py == -""" -Mini–quick-start for RegexExtractionStrategy -──────────────────────────────────────────── -3 bite-sized demos that parallel the style of *quickstart_examples_set_1.py*: - -1. **Default catalog** – scrape a page and pull out e-mails / phones / URLs, etc. -2. **Custom pattern** – add your own regex at instantiation time. -3. **LLM-assisted schema** – ask the model to write a pattern, cache it, then - run extraction _without_ further LLM calls. - -Run the whole thing with:: - - python regex_extraction_quickstart.py -""" - -import os, json, asyncio -from pathlib import Path -from typing import List - -from crawl4ai import ( - AsyncWebCrawler, - CrawlerRunConfig, - CrawlResult, - RegexExtractionStrategy, - LLMConfig, -) - -# ──────────────────────────────────────────────────────────────────────────── -# 1. Default-catalog extraction -# ──────────────────────────────────────────────────────────────────────────── -async def demo_regex_default() -> None: - print("\n=== 1. Regex extraction – default patterns ===") - - url = "https://www.iana.org/domains/example" # has e-mail + URLs - strategy = RegexExtractionStrategy( - pattern = RegexExtractionStrategy.Url | RegexExtractionStrategy.Currency - ) - config = CrawlerRunConfig(extraction_strategy=strategy) - - async with AsyncWebCrawler() as crawler: - result: CrawlResult = await crawler.arun(url, config=config) - - print(f"Fetched {url} - success={result.success}") - if result.success: - data = json.loads(result.extracted_content) - for d in data[:10]: - print(f" {d['label']:<12} {d['value']}") - print(f"... total matches: {len(data)}") - else: - print(" !!! crawl failed") - - -# ──────────────────────────────────────────────────────────────────────────── -# 2. Custom pattern override / extension -# ──────────────────────────────────────────────────────────────────────────── -async def demo_regex_custom() -> None: - print("\n=== 2. Regex extraction – custom price pattern ===") - - url = "https://www.apple.com/shop/buy-mac/macbook-pro" - price_pattern = {"usd_price": r"\$\s?\d{1,3}(?:,\d{3})*(?:\.\d{2})?"} - - strategy = RegexExtractionStrategy(custom = price_pattern) - config = CrawlerRunConfig(extraction_strategy=strategy) - - async with AsyncWebCrawler() as crawler: - result: CrawlResult = await crawler.arun(url, config=config) - - if result.success: - data = json.loads(result.extracted_content) - for d in data: - print(f" {d['value']}") - if not data: - print(" (No prices found - page layout may have changed)") - else: - print(" !!! crawl failed") - - -# ──────────────────────────────────────────────────────────────────────────── -# 3. One-shot LLM pattern generation, then fast extraction -# ──────────────────────────────────────────────────────────────────────────── -async def demo_regex_generate_pattern() -> None: - print("\n=== 3. generate_pattern → regex extraction ===") - - cache_dir = Path(__file__).parent / "tmp" - cache_dir.mkdir(exist_ok=True) - pattern_file = cache_dir / "price_pattern.json" - - url = "https://www.lazada.sg/tag/smartphone/" - - # ── 3-A. build or load the cached pattern - if pattern_file.exists(): - pattern = json.load(pattern_file.open(encoding="utf-8")) - print("Loaded cached pattern:", pattern) - else: - print("Generating pattern via LLM…") - - llm_cfg = LLMConfig( - provider="openai/gpt-4o-mini", - api_token="env:OPENAI_API_KEY", - ) - - # pull one sample page as HTML context - async with AsyncWebCrawler() as crawler: - html = (await crawler.arun(url)).fit_html - - pattern = RegexExtractionStrategy.generate_pattern( - label="price", - html=html, - query="Prices in Malaysian Ringgit (e.g. RM1,299.00 or RM200)", - llm_config=llm_cfg, - ) - - json.dump(pattern, pattern_file.open("w", encoding="utf-8"), indent=2) - print("Saved pattern:", pattern_file) - - # ── 3-B. extraction pass – zero LLM calls - strategy = RegexExtractionStrategy(custom=pattern) - config = CrawlerRunConfig(extraction_strategy=strategy, delay_before_return_html=3) - - async with AsyncWebCrawler() as crawler: - result: CrawlResult = await crawler.arun(url, config=config) - - if result.success: - data = json.loads(result.extracted_content) - for d in data[:15]: - print(f" {d['value']}") - print(f"... total matches: {len(data)}") - else: - print(" !!! crawl failed") - - -# ──────────────────────────────────────────────────────────────────────────── -# Entrypoint -# ──────────────────────────────────────────────────────────────────────────── -async def main() -> None: - # await demo_regex_default() - # await demo_regex_custom() - await demo_regex_generate_pattern() - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/research_assistant.py - -```py -# Make sure to install the required packageschainlit and groq -import os, time -from openai import AsyncOpenAI -import chainlit as cl -import re -import requests -from io import BytesIO -from chainlit.element import ElementBased -from groq import Groq - -# Import threadpools to run the crawl_url function in a separate thread -from concurrent.futures import ThreadPoolExecutor - -client = AsyncOpenAI( - base_url="https://api.groq.com/openai/v1", api_key=os.getenv("GROQ_API_KEY") -) - -# Instrument the OpenAI client -cl.instrument_openai() - -settings = { - "model": "llama3-8b-8192", - "temperature": 0.5, - "max_tokens": 500, - "top_p": 1, - "frequency_penalty": 0, - "presence_penalty": 0, -} - - -def extract_urls(text): - url_pattern = re.compile(r"(https?://\S+)") - return url_pattern.findall(text) - - -def crawl_url(url): - data = { - "urls": [url], - "include_raw_html": True, - "word_count_threshold": 10, - "extraction_strategy": "NoExtractionStrategy", - "chunking_strategy": "RegexChunking", - } - response = requests.post("https://crawl4ai.com/crawl", json=data) - response_data = response.json() - response_data = response_data["results"][0] - return response_data["markdown"] - - -@cl.on_chat_start -async def on_chat_start(): - cl.user_session.set("session", {"history": [], "context": {}}) - await cl.Message(content="Welcome to the chat! How can I assist you today?").send() - - -@cl.on_message -async def on_message(message: cl.Message): - user_session = cl.user_session.get("session") - - # Extract URLs from the user's message - urls = extract_urls(message.content) - - futures = [] - with ThreadPoolExecutor() as executor: - for url in urls: - futures.append(executor.submit(crawl_url, url)) - - results = [future.result() for future in futures] - - for url, result in zip(urls, results): - ref_number = f"REF_{len(user_session['context']) + 1}" - user_session["context"][ref_number] = {"url": url, "content": result} - - user_session["history"].append({"role": "user", "content": message.content}) - - # Create a system message that includes the context - context_messages = [ - f'\n{data["content"]}\n' - for ref, data in user_session["context"].items() - ] - if context_messages: - system_message = { - "role": "system", - "content": ( - "You are a helpful bot. Use the following context for answering questions. " - "Refer to the sources using the REF number in square brackets, e.g., [1], only if the source is given in the appendices below.\n\n" - "If the question requires any information from the provided appendices or context, refer to the sources. " - "If not, there is no need to add a references section. " - "At the end of your response, provide a reference section listing the URLs and their REF numbers only if sources from the appendices were used.\n\n" - "\n\n".join(context_messages) - ), - } - else: - system_message = {"role": "system", "content": "You are a helpful assistant."} - - msg = cl.Message(content="") - await msg.send() - - # Get response from the LLM - stream = await client.chat.completions.create( - messages=[system_message, *user_session["history"]], stream=True, **settings - ) - - assistant_response = "" - async for part in stream: - if token := part.choices[0].delta.content: - assistant_response += token - await msg.stream_token(token) - - # Add assistant message to the history - user_session["history"].append({"role": "assistant", "content": assistant_response}) - await msg.update() - - # Append the reference section to the assistant's response - reference_section = "\n\nReferences:\n" - for ref, data in user_session["context"].items(): - reference_section += f"[{ref.split('_')[1]}]: {data['url']}\n" - - msg.content += reference_section - await msg.update() - - -@cl.on_audio_chunk -async def on_audio_chunk(chunk: cl.AudioChunk): - if chunk.isStart: - buffer = BytesIO() - # This is required for whisper to recognize the file type - buffer.name = f"input_audio.{chunk.mimeType.split('/')[1]}" - # Initialize the session for a new audio stream - cl.user_session.set("audio_buffer", buffer) - cl.user_session.set("audio_mime_type", chunk.mimeType) - - # Write the chunks to a buffer and transcribe the whole audio at the end - cl.user_session.get("audio_buffer").write(chunk.data) - - pass - - -@cl.step(type="tool") -async def speech_to_text(audio_file): - cli = Groq() - - response = await client.audio.transcriptions.create( - model="whisper-large-v3", file=audio_file - ) - - return response.text - - -@cl.on_audio_end -async def on_audio_end(elements: list[ElementBased]): - # Get the audio buffer from the session - audio_buffer: BytesIO = cl.user_session.get("audio_buffer") - audio_buffer.seek(0) # Move the file pointer to the beginning - audio_file = audio_buffer.read() - audio_mime_type: str = cl.user_session.get("audio_mime_type") - - start_time = time.time() - whisper_input = (audio_buffer.name, audio_file, audio_mime_type) - transcription = await speech_to_text(whisper_input) - end_time = time.time() - print(f"Transcription took {end_time - start_time} seconds") - - user_msg = cl.Message(author="You", type="user_message", content=transcription) - await user_msg.send() - await on_message(user_msg) - - -if __name__ == "__main__": - from chainlit.cli import run_chainlit - - run_chainlit(__file__) - -``` - - -## File: docs/examples/rest_call.py - -```py -import requests, base64, os - -data = { - "urls": ["https://www.nbcnews.com/business"], - "screenshot": True, -} - -response = requests.post("https://crawl4ai.com/crawl", json=data) -result = response.json()["results"][0] -print(result.keys()) -# dict_keys(['url', 'html', 'success', 'cleaned_html', 'media', -# 'links', 'screenshot', 'markdown', 'extracted_content', -# 'metadata', 'error_message']) -with open("screenshot.png", "wb") as f: - f.write(base64.b64decode(result["screenshot"])) - -# Example of filtering the content using CSS selectors -data = { - "urls": ["https://www.nbcnews.com/business"], - "css_selector": "article", - "screenshot": True, -} - -# Example of executing a JS script on the page before extracting the content -data = { - "urls": ["https://www.nbcnews.com/business"], - "screenshot": True, - "js": [ - """ - const loadMoreButton = Array.from(document.querySelectorAll('button')). - find(button => button.textContent.includes('Load More')); - loadMoreButton && loadMoreButton.click(); - """ - ], -} - -# Example of using a custom extraction strategy -data = { - "urls": ["https://www.nbcnews.com/business"], - "extraction_strategy": "CosineStrategy", - "extraction_strategy_args": {"semantic_filter": "inflation rent prices"}, -} - -# Example of using LLM to extract content -data = { - "urls": ["https://www.nbcnews.com/business"], - "extraction_strategy": "LLMExtractionStrategy", - "extraction_strategy_args": { - "provider": "groq/llama3-8b-8192", - "api_token": os.environ.get("GROQ_API_KEY"), - "instruction": """I am interested in only financial news, - and translate them in French.""", - }, -} - -``` - - -## File: docs/examples/scraping_strategies_performance.py - -```py -import time, re -from crawl4ai.content_scraping_strategy import WebScrapingStrategy, LXMLWebScrapingStrategy -import time -import functools -from collections import defaultdict - -class TimingStats: - def __init__(self): - self.stats = defaultdict(lambda: defaultdict(lambda: {"calls": 0, "total_time": 0})) - - def add(self, strategy_name, func_name, elapsed): - self.stats[strategy_name][func_name]["calls"] += 1 - self.stats[strategy_name][func_name]["total_time"] += elapsed - - def report(self): - for strategy_name, funcs in self.stats.items(): - print(f"\n{strategy_name} Timing Breakdown:") - print("-" * 60) - print(f"{'Function':<30} {'Calls':<10} {'Total(s)':<10} {'Avg(ms)':<10}") - print("-" * 60) - - for func, data in sorted(funcs.items(), key=lambda x: x[1]["total_time"], reverse=True): - avg_ms = (data["total_time"] / data["calls"]) * 1000 - print(f"{func:<30} {data['calls']:<10} {data['total_time']:<10.3f} {avg_ms:<10.2f}") - -timing_stats = TimingStats() - -# Modify timing decorator -def timing_decorator(strategy_name): - def decorator(func): - @functools.wraps(func) - def wrapper(*args, **kwargs): - start = time.time() - result = func(*args, **kwargs) - elapsed = time.time() - start - timing_stats.add(strategy_name, func.__name__, elapsed) - return result - return wrapper - return decorator - -# Modified decorator application -def apply_decorators(cls, method_name, strategy_name): - try: - original_method = getattr(cls, method_name) - decorated_method = timing_decorator(strategy_name)(original_method) - setattr(cls, method_name, decorated_method) - except AttributeError: - print(f"Method {method_name} not found in class {cls.__name__}.") - -# Apply to key methods -methods_to_profile = [ - '_scrap', - # 'process_element', - '_process_element', - 'process_image', -] - - -# Apply decorators to both strategies -for strategy, name in [(WebScrapingStrategy, "Original"), (LXMLWebScrapingStrategy, "LXML")]: - for method in methods_to_profile: - apply_decorators(strategy, method, name) - - -def generate_large_html(n_elements=1000): - html = [''] - for i in range(n_elements): - html.append(f''' -
-

Heading {i}

-
-
-

This is paragraph {i} with some content and a link

-
-
- Image {i} -
    -
  • List item {i}.1
  • -
  • List item {i}.2
  • -
-
- ''') - html.append('') - return ''.join(html) - -def test_scraping(): - # Initialize both scrapers - original_scraper = WebScrapingStrategy() - selected_scraper = LXMLWebScrapingStrategy() - - # Generate test HTML - print("Generating HTML...") - html = generate_large_html(5000) - print(f"HTML Size: {len(html)/1024:.2f} KB") - - # Time the scraping - print("\nStarting scrape...") - start_time = time.time() - - kwargs = { - "url": "http://example.com", - "html": html, - "word_count_threshold": 5, - "keep_data_attributes": True - } - - t1 = time.perf_counter() - result_selected = selected_scraper.scrap(**kwargs) - t2 = time.perf_counter() - - result_original = original_scraper.scrap(**kwargs) - t3 = time.perf_counter() - - elapsed = t3 - start_time - print(f"\nScraping completed in {elapsed:.2f} seconds") - - timing_stats.report() - - # Print stats of LXML output - print("\Turbo Output:") - print(f"\nExtracted links: {len(result_selected.links.internal) + len(result_selected.links.external)}") - print(f"Extracted images: {len(result_selected.media.images)}") - print(f"Clean HTML size: {len(result_selected.cleaned_html)/1024:.2f} KB") - print(f"Scraping time: {t2 - t1:.2f} seconds") - - # Print stats of original output - print("\nOriginal Output:") - print(f"\nExtracted links: {len(result_original.links.internal) + len(result_original.links.external)}") - print(f"Extracted images: {len(result_original.media.images)}") - print(f"Clean HTML size: {len(result_original.cleaned_html)/1024:.2f} KB") - print(f"Scraping time: {t3 - t1:.2f} seconds") - - -if __name__ == "__main__": - test_scraping() -``` - - -## File: docs/examples/serp_api_project_11_feb.py - -```py -import asyncio -import json -from typing import Any, Dict, List, Optional - -from regex import P -from crawl4ai import ( - AsyncWebCrawler, - BrowserConfig, - CrawlerRunConfig, - CacheMode, - LLMExtractionStrategy, - JsonCssExtractionStrategy, - CrawlerHub, - CrawlResult, - DefaultMarkdownGenerator, - PruningContentFilter, -) -from pathlib import Path -from pydantic import BaseModel - -__current_dir = Path(__file__).parent - -# Crawl4ai Hello Web -async def little_hello_web(): - async with AsyncWebCrawler() as crawler: - result : CrawlResult = await crawler.arun( - url="https://www.helloworld.org" - ) - print(result.markdown.raw_markdown[:500]) - -async def hello_web(): - browser_config = BrowserConfig(headless=True, verbose=True) - async with AsyncWebCrawler(config=browser_config) as crawler: - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - markdown_generator=DefaultMarkdownGenerator( - content_filter=PruningContentFilter( - threshold=0.48, threshold_type="fixed", min_word_threshold=0 - ) - ), - ) - result : CrawlResult = await crawler.arun( - url="https://www.helloworld.org", config=crawler_config - ) - print(result.markdown.fit_markdown[:500]) - -# Naive Approach Using Large Language Models -async def extract_using_llm(): - print("Extracting using Large Language Models") - - browser_config = BrowserConfig(headless=True, verbose=True) - crawler = AsyncWebCrawler(config=browser_config) - - await crawler.start() - try: - class Sitelink(BaseModel): - title: str - link: str - - class GoogleSearchResult(BaseModel): - title: str - link: str - snippet: str - sitelinks: Optional[List[Sitelink]] = None - - llm_extraction_strategy = LLMExtractionStrategy( - provider = "openai/gpt-4o", - schema = GoogleSearchResult.model_json_schema(), - instruction="""I want to extract the title, link, snippet, and sitelinks from a Google search result. I shared here the content of div#search from the search result page. We are just interested in organic search results. - Example: - { - "title": "Google", - "link": "https://www.google.com", - "snippet": "Google is a search engine.", - "sitelinks": [ - { - "title": "Gmail", - "link": "https://mail.google.com" - }, - { - "title": "Google Drive", - "link": "https://drive.google.com" - } - ] - }""", - # apply_chunking=False, - chunk_token_threshold=2 ** 12, # 2^12 = 4096 - verbose=True, - # input_format="html", # html, markdown, cleaned_html - input_format="cleaned_html" - ) - - - crawl_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - keep_attrs=["id", "class"], - keep_data_attributes=True, - delay_before_return_html=2, - extraction_strategy=llm_extraction_strategy, - css_selector="div#search", - ) - - result : CrawlResult = await crawler.arun( - url="https://www.google.com/search?q=apple%20inc&start=0&num=10", - config=crawl_config, - ) - - search_result = {} - if result.success: - search_result = json.loads(result.extracted_content) - - # save search result to file - with open(__current_dir / "search_result_using_llm.json", "w") as f: - f.write(json.dumps(search_result, indent=4)) - print(json.dumps(search_result, indent=4)) - - finally: - await crawler.close() - -# Example of using CrawlerHub -async def schema_generator(): - print("Generating schema") - html = "" - - # Load html from file - with open(__current_dir / "google_search_item.html", "r") as f: - html = f.read() - - organic_schema = JsonCssExtractionStrategy.generate_schema( - html=html, - target_json_example="""{ - "title": "...", - "link": "...", - "snippet": "...", - "date": "1 hour ago", - "sitelinks": [ - { - "title": "...", - "link": "..." - } - ] - }""", - query="""The given HTML is the crawled HTML from the Google search result, which refers to one HTML element representing one organic Google search result. Please find the schema for the organic search item based on the given HTML. I am interested in the title, link, snippet text, sitelinks, and date.""", - ) - - print(json.dumps(organic_schema, indent=4)) - pass - -# Golden Standard -async def build_schema(html:str, force: bool = False) -> Dict[str, Any]: - print("Building schema") - schemas = {} - if (__current_dir / "organic_schema.json").exists() and not force: - with open(__current_dir / "organic_schema.json", "r") as f: - schemas["organic"] = json.loads(f.read()) - else: - # Extract schema from html - organic_schema = JsonCssExtractionStrategy.generate_schema( - html=html, - target_json_example="""{ - "title": "...", - "link": "...", - "snippet": "...", - "date": "1 hour ago", - "sitelinks": [ - { - "title": "...", - "link": "..." - } - ] - }""", - query="""The given html is the crawled html from Google search result. Please find the schema for organic search item in the given html, I am interested in title, link, snippet text, sitelinks and date. Usually they are all inside a div#search.""", - ) - - # Save schema to file current_dir/organic_schema.json - with open(__current_dir / "organic_schema.json", "w") as f: - f.write(json.dumps(organic_schema, indent=4)) - - schemas["organic"] = organic_schema - - # Repeat the same for top_stories_schema - if (__current_dir / "top_stories_schema.json").exists(): - with open(__current_dir / "top_stories_schema.json", "r") as f: - schemas["top_stories"] = json.loads(f.read()) - else: - top_stories_schema = JsonCssExtractionStrategy.generate_schema( - html=html, - target_json_example="""{ - "title": "...", - "link": "...", - "source": "Insider Monkey", - "date": "1 hour ago", - }""", - query="""The given HTML is the crawled HTML from the Google search result. Please find the schema for the Top Stories item in the given HTML. I am interested in the title, link, source, and date.""", - ) - - with open(__current_dir / "top_stories_schema.json", "w") as f: - f.write(json.dumps(top_stories_schema, indent=4)) - - schemas["top_stories"] = top_stories_schema - - # Repeat the same for suggested_queries_schema - if (__current_dir / "suggested_queries_schema.json").exists(): - with open(__current_dir / "suggested_queries_schema.json", "r") as f: - schemas["suggested_queries"] = json.loads(f.read()) - else: - suggested_queries_schema = JsonCssExtractionStrategy.generate_schema( - html=html, - target_json_example="""{ - "query": "A for Apple", - }""", - query="""The given HTML contains the crawled HTML from Google search results. Please find the schema for each suggested query in the section "relatedSearches" at the bottom of the page. I am interested in the queries only.""", - ) - - with open(__current_dir / "suggested_queries_schema.json", "w") as f: - f.write(json.dumps(suggested_queries_schema, indent=4)) - - schemas["suggested_queries"] = suggested_queries_schema - - return schemas - -async def search(q: str = "apple inc") -> Dict[str, Any]: - print("Searching for:", q) - - browser_config = BrowserConfig(headless=True, verbose=True) - crawler = AsyncWebCrawler(config=browser_config) - search_result: Dict[str, List[Dict[str, Any]]] = {} - - await crawler.start() - try: - crawl_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - keep_attrs=["id", "class"], - keep_data_attributes=True, - delay_before_return_html=2, - ) - from urllib.parse import quote - result: CrawlResult = await crawler.arun( - f"https://www.google.com/search?q={quote(q)}&start=0&num=10", - config=crawl_config - ) - - if result.success: - schemas : Dict[str, Any] = await build_schema(result.html) - - for schema in schemas.values(): - schema_key = schema["name"].lower().replace(' ', '_') - search_result[schema_key] = JsonCssExtractionStrategy( - schema=schema - ).run( - url="", - sections=[result.html], - ) - - # save search result to file - with open(__current_dir / "search_result.json", "w") as f: - f.write(json.dumps(search_result, indent=4)) - print(json.dumps(search_result, indent=4)) - - finally: - await crawler.close() - - return search_result - -# Example of using CrawlerHub -async def hub_example(query: str = "apple inc"): - print("Using CrawlerHub") - crawler_cls = CrawlerHub.get("google_search") - crawler = crawler_cls() - - # Text search - text_results = await crawler.run( - query=query, - search_type="text", - schema_cache_path="/Users/unclecode/.crawl4ai" - ) - # Save search result to file - with open(__current_dir / "search_result_using_hub.json", "w") as f: - f.write(json.dumps(json.loads(text_results), indent=4)) - - print(json.dumps(json.loads(text_results), indent=4)) - - -async def demo(): - # Step 1: Introduction & Overview - # await little_hello_web() - # await hello_web() - - # Step 2: Demo end result, using hub - # await hub_example() - - # Step 3: Using LLm for extraction - # await extract_using_llm() - - # Step 4: GEt familiar with schema generation - # await schema_generator() - - # Step 5: Golden Standard - # await search() - - # Step 6: Introduction to CrawlerHub - await hub_example() - -if __name__ == "__main__": - asyncio.run(demo()) - -``` - - -## File: docs/examples/session_id_example.py - -```py -import asyncio -from crawl4ai import ( - AsyncWebCrawler, - BrowserConfig, - CrawlerRunConfig, - DefaultMarkdownGenerator, - PruningContentFilter, - CrawlResult -) - - - -async def main(): - browser_config = BrowserConfig( - headless=False, - verbose=True, - ) - async with AsyncWebCrawler(config=browser_config) as crawler: - crawler_config = CrawlerRunConfig( - session_id= "hello_world", # This help us to use the same page - ) - result : CrawlResult = await crawler.arun( - url="https://www.helloworld.org", config=crawler_config - ) - # Add a breakpoint here, then you will the page is open and browser is not closed - print(result.markdown.raw_markdown[:500]) - - new_config = crawler_config.clone(js_code=["(() => ({'data':'hello'}))()"], js_only=True) - result : CrawlResult = await crawler.arun( # This time there is no fetch and this only executes JS in the same opened page - url="https://www.helloworld.org", config= new_config - ) - print(result.js_execution_result) # You should see {'data':'hello'} in the console - - # Get direct access to Playwright paege object. This works only if you use the same session_id and pass same config - page, context = crawler.crawler_strategy.get_page(new_config) - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/ssl_example.py - -```py -"""Example showing how to work with SSL certificates in Crawl4AI.""" - -import asyncio -import os -from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode - -# Create tmp directory if it doesn't exist -parent_dir = os.path.dirname( - os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -) -tmp_dir = os.path.join(parent_dir, "tmp") -os.makedirs(tmp_dir, exist_ok=True) - - -async def main(): - # Configure crawler to fetch SSL certificate - config = CrawlerRunConfig( - fetch_ssl_certificate=True, - cache_mode=CacheMode.BYPASS, # Bypass cache to always get fresh certificates - ) - - async with AsyncWebCrawler() as crawler: - result = await crawler.arun(url="https://example.com", config=config) - - if result.success and result.ssl_certificate: - cert = result.ssl_certificate - - # 1. Access certificate properties directly - print("\nCertificate Information:") - print(f"Issuer: {cert.issuer.get('CN', '')}") - print(f"Valid until: {cert.valid_until}") - print(f"Fingerprint: {cert.fingerprint}") - - # 2. Export certificate in different formats - cert.to_json(os.path.join(tmp_dir, "certificate.json")) # For analysis - print("\nCertificate exported to:") - print(f"- JSON: {os.path.join(tmp_dir, 'certificate.json')}") - - pem_data = cert.to_pem( - os.path.join(tmp_dir, "certificate.pem") - ) # For web servers - print(f"- PEM: {os.path.join(tmp_dir, 'certificate.pem')}") - - der_data = cert.to_der( - os.path.join(tmp_dir, "certificate.der") - ) # For Java apps - print(f"- DER: {os.path.join(tmp_dir, 'certificate.der')}") - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: docs/examples/storage_state_tutorial.md - -```md -### Using `storage_state` to Pre-Load Cookies and LocalStorage - -Crawl4ai’s `AsyncWebCrawler` lets you preserve and reuse session data, including cookies and localStorage, across multiple runs. By providing a `storage_state`, you can start your crawls already “logged in” or with any other necessary session data—no need to repeat the login flow every time. - -#### What is `storage_state`? - -`storage_state` can be: - -- A dictionary containing cookies and localStorage data. -- A path to a JSON file that holds this information. - -When you pass `storage_state` to the crawler, it applies these cookies and localStorage entries before loading any pages. This means your crawler effectively starts in a known authenticated or pre-configured state. - -#### Example Structure - -Here’s an example storage state: - -```json -{ - "cookies": [ - { - "name": "session", - "value": "abcd1234", - "domain": "example.com", - "path": "/", - "expires": 1675363572.037711, - "httpOnly": false, - "secure": false, - "sameSite": "None" - } - ], - "origins": [ - { - "origin": "https://example.com", - "localStorage": [ - { "name": "token", "value": "my_auth_token" }, - { "name": "refreshToken", "value": "my_refresh_token" } - ] - } - ] -} -``` - -This JSON sets a `session` cookie and two localStorage entries (`token` and `refreshToken`) for `https://example.com`. - ---- - -### Passing `storage_state` as a Dictionary - -You can directly provide the data as a dictionary: - -```python -import asyncio -from crawl4ai import AsyncWebCrawler - -async def main(): - storage_dict = { - "cookies": [ - { - "name": "session", - "value": "abcd1234", - "domain": "example.com", - "path": "/", - "expires": 1675363572.037711, - "httpOnly": False, - "secure": False, - "sameSite": "None" - } - ], - "origins": [ - { - "origin": "https://example.com", - "localStorage": [ - {"name": "token", "value": "my_auth_token"}, - {"name": "refreshToken", "value": "my_refresh_token"} - ] - } - ] - } - - async with AsyncWebCrawler( - headless=True, - storage_state=storage_dict - ) as crawler: - result = await crawler.arun(url='https://example.com/protected') - if result.success: - print("Crawl succeeded with pre-loaded session data!") - print("Page HTML length:", len(result.html)) - -if __name__ == "__main__": - asyncio.run(main()) -``` - ---- - -### Passing `storage_state` as a File - -If you prefer a file-based approach, save the JSON above to `mystate.json` and reference it: - -```python -import asyncio -from crawl4ai import AsyncWebCrawler - -async def main(): - async with AsyncWebCrawler( - headless=True, - storage_state="mystate.json" # Uses a JSON file instead of a dictionary - ) as crawler: - result = await crawler.arun(url='https://example.com/protected') - if result.success: - print("Crawl succeeded with pre-loaded session data!") - print("Page HTML length:", len(result.html)) - -if __name__ == "__main__": - asyncio.run(main()) -``` - ---- - -### Using `storage_state` to Avoid Repeated Logins (Sign In Once, Use Later) - -A common scenario is when you need to log in to a site (entering username/password, etc.) to access protected pages. Doing so every crawl is cumbersome. Instead, you can: - -1. Perform the login once in a hook. -2. After login completes, export the resulting `storage_state` to a file. -3. On subsequent runs, provide that `storage_state` to skip the login step. - -**Step-by-Step Example:** - -**First Run (Perform Login and Save State):** - -```python -import asyncio -from crawl4ai import AsyncWebCrawler, CacheMode -from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator - -async def on_browser_created_hook(browser): - # Access the default context and create a page - context = browser.contexts[0] - page = await context.new_page() - - # Navigate to the login page - await page.goto("https://example.com/login", wait_until="domcontentloaded") - - # Fill in credentials and submit - await page.fill("input[name='username']", "myuser") - await page.fill("input[name='password']", "mypassword") - await page.click("button[type='submit']") - await page.wait_for_load_state("networkidle") - - # Now the site sets tokens in localStorage and cookies - # Export this state to a file so we can reuse it - await context.storage_state(path="my_storage_state.json") - await page.close() - -async def main(): - # First run: perform login and export the storage_state - async with AsyncWebCrawler( - headless=True, - verbose=True, - hooks={"on_browser_created": on_browser_created_hook}, - use_persistent_context=True, - user_data_dir="./my_user_data" - ) as crawler: - - # After on_browser_created_hook runs, we have storage_state saved to my_storage_state.json - result = await crawler.arun( - url='https://example.com/protected-page', - cache_mode=CacheMode.BYPASS, - markdown_generator=DefaultMarkdownGenerator(options={"ignore_links": True}), - ) - print("First run result success:", result.success) - if result.success: - print("Protected page HTML length:", len(result.html)) - -if __name__ == "__main__": - asyncio.run(main()) -``` - -**Second Run (Reuse Saved State, No Login Needed):** - -```python -import asyncio -from crawl4ai import AsyncWebCrawler, CacheMode -from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator - -async def main(): - # Second run: no need to hook on_browser_created this time. - # Just provide the previously saved storage state. - async with AsyncWebCrawler( - headless=True, - verbose=True, - use_persistent_context=True, - user_data_dir="./my_user_data", - storage_state="my_storage_state.json" # Reuse previously exported state - ) as crawler: - - # Now the crawler starts already logged in - result = await crawler.arun( - url='https://example.com/protected-page', - cache_mode=CacheMode.BYPASS, - markdown_generator=DefaultMarkdownGenerator(options={"ignore_links": True}), - ) - print("Second run result success:", result.success) - if result.success: - print("Protected page HTML length:", len(result.html)) - -if __name__ == "__main__": - asyncio.run(main()) -``` - -**What’s Happening Here?** - -- During the first run, the `on_browser_created_hook` logs into the site. -- After logging in, the crawler exports the current session (cookies, localStorage, etc.) to `my_storage_state.json`. -- On subsequent runs, passing `storage_state="my_storage_state.json"` starts the browser context with these tokens already in place, skipping the login steps. - -**Sign Out Scenario:** -If the website allows you to sign out by clearing tokens or by navigating to a sign-out URL, you can also run a script that uses `on_browser_created_hook` or `arun` to simulate signing out, then export the resulting `storage_state` again. That would give you a baseline “logged out” state to start fresh from next time. - ---- - -### Conclusion - -By using `storage_state`, you can skip repetitive actions, like logging in, and jump straight into crawling protected content. Whether you provide a file path or a dictionary, this powerful feature helps maintain state between crawls, simplifying your data extraction pipelines. -``` - - -## File: docs/examples/summarize_page.py - -```py -import os -import json -from crawl4ai.web_crawler import WebCrawler -from crawl4ai.chunking_strategy import * -from crawl4ai.extraction_strategy import * -from crawl4ai.crawler_strategy import * - -url = r"https://marketplace.visualstudio.com/items?itemName=Unclecode.groqopilot" - -crawler = WebCrawler() -crawler.warmup() - -from pydantic import BaseModel, Field - - -class PageSummary(BaseModel): - title: str = Field(..., description="Title of the page.") - summary: str = Field(..., description="Summary of the page.") - brief_summary: str = Field(..., description="Brief summary of the page.") - keywords: list = Field(..., description="Keywords assigned to the page.") - - -result = crawler.run( - url=url, - word_count_threshold=1, - extraction_strategy=LLMExtractionStrategy( - provider="openai/gpt-4o", - api_token=os.getenv("OPENAI_API_KEY"), - schema=PageSummary.model_json_schema(), - extraction_type="schema", - apply_chunking=False, - instruction="From the crawled content, extract the following details: " - "1. Title of the page " - "2. Summary of the page, which is a detailed summary " - "3. Brief summary of the page, which is a paragraph text " - "4. Keywords assigned to the page, which is a list of keywords. " - "The extracted JSON format should look like this: " - '{ "title": "Page Title", "summary": "Detailed summary of the page.", "brief_summary": "Brief summary in a paragraph.", "keywords": ["keyword1", "keyword2", "keyword3"] }', - ), - bypass_cache=True, -) - -page_summary = json.loads(result.extracted_content) - -print(page_summary) - -with open(".data/page_summary.json", "w", encoding="utf-8") as f: - f.write(result.extracted_content) - -``` - - -## File: docs/examples/tutorial_dynamic_clicks.md - -```md -# Tutorial: Clicking Buttons to Load More Content with Crawl4AI - -## Introduction - -When scraping dynamic websites, it’s common to encounter “Load More” or “Next” buttons that must be clicked to reveal new content. Crawl4AI provides a straightforward way to handle these situations using JavaScript execution and waiting conditions. In this tutorial, we’ll cover two approaches: - -1. **Step-by-step (Session-based) Approach:** Multiple calls to `arun()` to progressively load more content. -2. **Single-call Approach:** Execute a more complex JavaScript snippet inside a single `arun()` call to handle all clicks at once before the extraction. - -## Prerequisites - -- A working installation of Crawl4AI -- Basic familiarity with Python’s `async`/`await` syntax - -## Step-by-Step Approach - -Use a session ID to maintain state across multiple `arun()` calls: - -```python -from crawl4ai import AsyncWebCrawler, CacheMode - -js_code = [ - # This JS finds the “Next” button and clicks it - "const nextButton = document.querySelector('button.next'); nextButton && nextButton.click();" -] - -wait_for_condition = "css:.new-content-class" - -async with AsyncWebCrawler(headless=True, verbose=True) as crawler: - # 1. Load the initial page - result_initial = await crawler.arun( - url="https://example.com", - cache_mode=CacheMode.BYPASS, - session_id="my_session" - ) - - # 2. Click the 'Next' button and wait for new content - result_next = await crawler.arun( - url="https://example.com", - session_id="my_session", - js_code=js_code, - wait_for=wait_for_condition, - js_only=True, - cache_mode=CacheMode.BYPASS - ) - -# `result_next` now contains the updated HTML after clicking 'Next' -``` - -**Key Points:** -- **`session_id`**: Keeps the same browser context open. -- **`js_code`**: Executes JavaScript in the context of the already loaded page. -- **`wait_for`**: Ensures the crawler waits until new content is fully loaded. -- **`js_only=True`**: Runs the JS in the current session without reloading the page. - -By repeating the `arun()` call multiple times and modifying the `js_code` (e.g., clicking different modules or pages), you can iteratively load all the desired content. - -## Single-call Approach - -If the page allows it, you can run a single `arun()` call with a more elaborate JavaScript snippet that: -- Iterates over all the modules or "Next" buttons -- Clicks them one by one -- Waits for content updates between each click -- Once done, returns control to Crawl4AI for extraction. - -Example snippet: - -```python -from crawl4ai import AsyncWebCrawler, CacheMode - -js_code = [ - # Example JS that clicks multiple modules: - """ - (async () => { - const modules = document.querySelectorAll('.module-item'); - for (let i = 0; i < modules.length; i++) { - modules[i].scrollIntoView(); - modules[i].click(); - // Wait for each module’s content to load, adjust 100ms as needed - await new Promise(r => setTimeout(r, 100)); - } - })(); - """ -] - -async with AsyncWebCrawler(headless=True, verbose=True) as crawler: - result = await crawler.arun( - url="https://example.com", - js_code=js_code, - wait_for="css:.final-loaded-content-class", - cache_mode=CacheMode.BYPASS - ) - -# `result` now contains all content after all modules have been clicked in one go. -``` - -**Key Points:** -- All interactions (clicks and waits) happen before the extraction. -- Ideal for pages where all steps can be done in a single pass. - -## Choosing the Right Approach - -- **Step-by-Step (Session-based)**: - - Good when you need fine-grained control or must dynamically check conditions before clicking the next page. - - Useful if the page requires multiple conditions checked at runtime. - -- **Single-call**: - - Perfect if the sequence of interactions is known in advance. - - Cleaner code if the page’s structure is consistent and predictable. - -## Conclusion - -Crawl4AI makes it easy to handle dynamic content: -- Use session IDs and multiple `arun()` calls for stepwise crawling. -- Or pack all actions into one `arun()` call if the interactions are well-defined upfront. - -This flexibility ensures you can handle a wide range of dynamic web pages efficiently. - -``` - - -## File: docs/examples/tutorial_v0.5.py - -```py -import asyncio -import time -import re - -from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode, BrowserConfig, MemoryAdaptiveDispatcher, HTTPCrawlerConfig -from crawl4ai.content_scraping_strategy import LXMLWebScrapingStrategy -from crawl4ai.deep_crawling import ( - BestFirstCrawlingStrategy, - FilterChain, - URLPatternFilter, - DomainFilter, - ContentTypeFilter, -) -from crawl4ai.deep_crawling.scorers import KeywordRelevanceScorer -from crawl4ai.async_crawler_strategy import AsyncHTTPCrawlerStrategy -from crawl4ai import ProxyConfig -from crawl4ai import RoundRobinProxyStrategy -from crawl4ai.content_filter_strategy import LLMContentFilter -from crawl4ai import DefaultMarkdownGenerator -from crawl4ai import LLMConfig -from crawl4ai.extraction_strategy import JsonCssExtractionStrategy -from crawl4ai.processors.pdf import PDFCrawlerStrategy, PDFContentScrapingStrategy -from pprint import pprint - - -# 1️⃣ Deep Crawling with Best-First Strategy -async def deep_crawl(): - """ - PART 1: Deep Crawling with Best-First Strategy - - This function demonstrates: - - Using the BestFirstCrawlingStrategy - - Creating filter chains to narrow down crawl targets - - Using a scorer to prioritize certain URLs - - Respecting robots.txt rules - """ - print("\n===== DEEP CRAWLING =====") - print("This example shows how to implement deep crawling with filters, scorers, and robots.txt compliance.") - - # Create a filter chain to filter urls based on patterns, domains and content type - filter_chain = FilterChain( - [ - DomainFilter( - allowed_domains=["docs.crawl4ai.com"], - blocked_domains=["old.docs.crawl4ai.com"], - ), - URLPatternFilter(patterns=["*core*", "*advanced*"],), - ContentTypeFilter(allowed_types=["text/html"]), - ] - ) - - # Create a keyword scorer that prioritises the pages with certain keywords first - keyword_scorer = KeywordRelevanceScorer( - keywords=["crawl", "example", "async", "configuration"], weight=0.7 - ) - - # Set up the configuration with robots.txt compliance enabled - deep_crawl_config = CrawlerRunConfig( - deep_crawl_strategy=BestFirstCrawlingStrategy( - max_depth=2, - include_external=False, - filter_chain=filter_chain, - url_scorer=keyword_scorer, - ), - scraping_strategy=LXMLWebScrapingStrategy(), - stream=True, - verbose=True, - check_robots_txt=True, # Enable robots.txt compliance - ) - - # Execute the crawl - async with AsyncWebCrawler() as crawler: - print("\n📊 Starting deep crawl with Best-First strategy...") - print(" - Filtering by domain, URL patterns, and content type") - print(" - Scoring pages based on keyword relevance") - print(" - Respecting robots.txt rules") - - start_time = time.perf_counter() - results = [] - - async for result in await crawler.arun(url="https://docs.crawl4ai.com", config=deep_crawl_config): - # Print each result as it comes in - depth = result.metadata.get("depth", 0) - score = result.metadata.get("score", 0) - print(f"Crawled: {result.url} (Depth: {depth}), score: {score:.2f}") - results.append(result) - - duration = time.perf_counter() - start_time - - # Print summary statistics - print(f"\n✅ Crawled {len(results)} high-value pages in {duration:.2f} seconds") - - # Group by depth - if results: - depth_counts = {} - for result in results: - depth = result.metadata.get("depth", 0) - depth_counts[depth] = depth_counts.get(depth, 0) + 1 - - print("\n📊 Pages crawled by depth:") - for depth, count in sorted(depth_counts.items()): - print(f" Depth {depth}: {count} pages") - - -# 2️⃣ Memory-Adaptive Dispatcher -async def memory_adaptive_dispatcher(): - """ - PART 2: Memory-Adaptive Dispatcher - - This function demonstrates: - - Using MemoryAdaptiveDispatcher to manage system memory - - Batch and streaming modes with multiple URLs - """ - print("\n===== MEMORY-ADAPTIVE DISPATCHER =====") - print("This example shows how to use the memory-adaptive dispatcher for resource management.") - - # Configure the dispatcher (optional, defaults are used if not provided) - dispatcher = MemoryAdaptiveDispatcher( - memory_threshold_percent=80.0, # Pause if memory usage exceeds 80% - check_interval=0.5, # Check memory every 0.5 seconds - ) - - # Test URLs - urls = [ - "https://docs.crawl4ai.com", - "https://github.com/unclecode/crawl4ai" - ] - - async def batch_mode(): - print("\n📊 BATCH MODE:") - print(" In this mode, all results are collected before being returned.") - - async with AsyncWebCrawler() as crawler: - start_time = time.perf_counter() - results = await crawler.arun_many( - urls=urls, - config=CrawlerRunConfig(stream=False), # Batch mode - dispatcher=dispatcher, - ) - - print(f" ✅ Received all {len(results)} results after {time.perf_counter() - start_time:.2f} seconds") - for result in results: - print(f" → {result.url} with status code: {result.status_code}") - - async def stream_mode(): - print("\n📊 STREAMING MODE:") - print(" In this mode, results are processed as they become available.") - - async with AsyncWebCrawler() as crawler: - start_time = time.perf_counter() - count = 0 - first_result_time = None - - async for result in await crawler.arun_many( - urls=urls, - config=CrawlerRunConfig(stream=True), # Stream mode - dispatcher=dispatcher, - ): - count += 1 - current_time = time.perf_counter() - start_time - - if count == 1: - first_result_time = current_time - print(f" ✅ First result after {first_result_time:.2f} seconds: {result.url}") - else: - print(f" → Result #{count} after {current_time:.2f} seconds: {result.url}") - - print(f" ✅ Total: {count} results") - print(f" ✅ First result: {first_result_time:.2f} seconds") - print(f" ✅ All results: {time.perf_counter() - start_time:.2f} seconds") - - # Run both examples - await batch_mode() - await stream_mode() - - print("\n🔍 Key Takeaway: The memory-adaptive dispatcher prevents OOM errors") - print(" and manages concurrency based on system resources.") - - -# 3️⃣ HTTP Crawler Strategy -async def http_crawler_strategy(): - """ - PART 3: HTTP Crawler Strategy - - This function demonstrates: - - Using the lightweight HTTP-only crawler - - Setting custom headers and configurations - """ - print("\n===== HTTP CRAWLER STRATEGY =====") - print("This example shows how to use the fast, lightweight HTTP-only crawler.") - - # Use the HTTP crawler strategy - http_config = HTTPCrawlerConfig( - method="GET", - headers={"User-Agent": "MyCustomBot/1.0"}, - follow_redirects=True, - verify_ssl=True - ) - - print("\n📊 Initializing HTTP crawler strategy...") - print(" - Using custom User-Agent: MyCustomBot/1.0") - print(" - Following redirects: Enabled") - print(" - Verifying SSL: Enabled") - - # Create crawler with HTTP strategy - async with AsyncWebCrawler( - crawler_strategy=AsyncHTTPCrawlerStrategy(browser_config=http_config) - ) as crawler: - start_time = time.perf_counter() - result = await crawler.arun("https://example.com") - duration = time.perf_counter() - start_time - - print(f"\n✅ Crawled in {duration:.2f} seconds") - print(f"✅ Status code: {result.status_code}") - print(f"✅ Content length: {len(result.html)} bytes") - - # Check if there was a redirect - if result.redirected_url and result.redirected_url != result.url: - print(f"ℹ️ Redirected from {result.url} to {result.redirected_url}") - - print("\n🔍 Key Takeaway: HTTP crawler is faster and more memory-efficient") - print(" than browser-based crawling for simple pages.") - - -# 4️⃣ Proxy Rotation -async def proxy_rotation(): - """ - PART 4: Proxy Rotation - - This function demonstrates: - - Setting up a proxy rotation strategy - - Using multiple proxies in a round-robin fashion - """ - print("\n===== PROXY ROTATION =====") - print("This example shows how to implement proxy rotation for distributed crawling.") - - # Load proxies and create rotation strategy - proxies = ProxyConfig.from_env() - #eg: export PROXIES="ip1:port1:username1:password1,ip2:port2:username2:password2" - if not proxies: - print("No proxies found in environment. Set PROXIES env variable!") - return - - proxy_strategy = RoundRobinProxyStrategy(proxies) - - # Create configs - browser_config = BrowserConfig(headless=True, verbose=False) - run_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS, - proxy_rotation_strategy=proxy_strategy - ) - - async with AsyncWebCrawler(config=browser_config) as crawler: - urls = ["https://httpbin.org/ip"] * (len(proxies) * 2) # Test each proxy twice - - print("\n📈 Initializing crawler with proxy rotation...") - async with AsyncWebCrawler(config=browser_config) as crawler: - print("\n🚀 Starting batch crawl with proxy rotation...") - results = await crawler.arun_many( - urls=urls, - config=run_config - ) - for result in results: - if result.success: - ip_match = re.search(r'(?:[0-9]{1,3}\.){3}[0-9]{1,3}', result.html) - current_proxy = run_config.proxy_config if run_config.proxy_config else None - - if current_proxy and ip_match: - print(f"URL {result.url}") - print(f"Proxy {current_proxy.server} -> Response IP: {ip_match.group(0)}") - verified = ip_match.group(0) == current_proxy.ip - if verified: - print(f"✅ Proxy working! IP matches: {current_proxy.ip}") - else: - print("❌ Proxy failed or IP mismatch!") - print("---") - else: - print(f"❌ Crawl via proxy failed!: {result.error_message}") - - -# 5️⃣ LLM Content Filter (requires API key) -async def llm_content_filter(): - """ - PART 5: LLM Content Filter - - This function demonstrates: - - Configuring LLM providers via LLMConfig - - Using LLM to generate focused markdown - - LLMConfig for configuration - - Note: Requires a valid API key for the chosen LLM provider - """ - print("\n===== LLM CONTENT FILTER =====") - print("This example shows how to use LLM to generate focused markdown content.") - print("Note: This example requires an API key. Set it in environment variables.") - - # Create LLM configuration - # Replace with your actual API key or set as environment variable - llm_config = LLMConfig( - provider="gemini/gemini-1.5-pro", - api_token="env:GEMINI_API_KEY" # Will read from GEMINI_API_KEY environment variable - ) - - print("\n📊 Setting up LLM content filter...") - print(f" - Provider: {llm_config.provider}") - print(" - API token: Using environment variable") - print(" - Instruction: Extract key concepts and summaries") - - # Create markdown generator with LLM filter - markdown_generator = DefaultMarkdownGenerator( - content_filter=LLMContentFilter( - llm_config=llm_config, - instruction="Extract key concepts and summaries" - ) - ) - - config = CrawlerRunConfig(markdown_generator=markdown_generator) - async with AsyncWebCrawler() as crawler: - result = await crawler.arun("https://docs.crawl4ai.com", config=config) - pprint(result.markdown.fit_markdown) - print("\n✅ Generated focused markdown:") - - - -# 6️⃣ PDF Processing -async def pdf_processing(): - """ - PART 6: PDF Processing - - This function demonstrates: - - Using PDFCrawlerStrategy and PDFContentScrapingStrategy - - Extracting text and metadata from PDFs - """ - print("\n===== PDF PROCESSING =====") - print("This example shows how to extract text and metadata from PDF files.") - - # Sample PDF URL - pdf_url = "https://arxiv.org/pdf/2310.06825.pdf" - - print("\n📊 Initializing PDF crawler...") - print(f" - Target PDF: {pdf_url}") - print(" - Using PDFCrawlerStrategy and PDFContentScrapingStrategy") - - # Create crawler with PDF strategy - async with AsyncWebCrawler(crawler_strategy=PDFCrawlerStrategy()) as crawler: - print("\n🚀 Starting PDF processing...") - - start_time = time.perf_counter() - result = await crawler.arun( - pdf_url, - config=CrawlerRunConfig(scraping_strategy=PDFContentScrapingStrategy()) - ) - duration = time.perf_counter() - start_time - - print(f"\n✅ Processed PDF in {duration:.2f} seconds") - - # Show metadata - print("\n📄 PDF Metadata:") - if result.metadata: - for key, value in result.metadata.items(): - if key not in ["html", "text", "markdown"] and value: - print(f" - {key}: {value}") - else: - print(" No metadata available") - - # Show sample of content - if result.markdown: - print("\n📝 PDF Content Sample:") - content_sample = result.markdown[:500] + "..." if len(result.markdown) > 500 else result.markdown - print(f"---\n{content_sample}\n---") - else: - print("\n⚠️ No content extracted") - - print("\n🔍 Key Takeaway: Crawl4AI can now process PDF files") - print(" to extract both text content and metadata.") - - -# 7️⃣ LLM Schema Generation (requires API key) -async def llm_schema_generation(): - """ - PART 7: LLM Schema Generation - - This function demonstrates: - - Configuring LLM providers via LLMConfig - - Using LLM to generate extraction schemas - - JsonCssExtractionStrategy - - Note: Requires a valid API key for the chosen LLM provider - """ - print("\n===== LLM SCHEMA GENERATION =====") - print("This example shows how to use LLM to automatically generate extraction schemas.") - print("Note: This example requires an API key. Set it in environment variables.") - - # Sample HTML - sample_html = """ -
-

Awesome Gaming Laptop

-
$1,299.99
-
-
    -
  • 16GB RAM
  • -
  • 512GB SSD
  • -
  • RTX 3080
  • -
-
-
4.7/5
-
- """ - print("\n📊 Setting up LLMConfig...") - # Create LLM configuration - llm_config = LLMConfig( - provider="gemini/gemini-1.5-pro", - api_token="env:GEMINI_API_KEY" - ) - print("\n🚀 Generating schema for product extraction...") - print(" This would use the LLM to analyze HTML and create an extraction schema") - schema = JsonCssExtractionStrategy.generate_schema( - html=sample_html, - llm_config = llm_config, - query="Extract product name and price" - ) - print("\n✅ Generated Schema:") - pprint(schema) - -# Run all sections -async def run_tutorial(): - """ - Main function to run all tutorial sections. - """ - print("\n🚀 CRAWL4AI v0.5.0 TUTORIAL 🚀") - print("===============================") - print("This tutorial demonstrates the key features of Crawl4AI v0.5.0") - print("Including deep crawling, memory-adaptive dispatching, advanced filtering,") - print("and more powerful extraction capabilities.") - - # Sections to run - sections = [ - deep_crawl, # 1. Deep Crawling with Best-First Strategy - memory_adaptive_dispatcher, # 2. Memory-Adaptive Dispatcher - http_crawler_strategy, # 3. HTTP Crawler Strategy - proxy_rotation, # 4. Proxy Rotation - llm_content_filter, # 5. LLM Content Filter - pdf_processing, # 6. PDF Processing - llm_schema_generation, # 7. Schema Generation using LLM - ] - - for section in sections: - try: - await section() - except Exception as e: - print(f"⚠️ Error in {section.__name__}: {e}") - - print("\n🎉 TUTORIAL COMPLETE! 🎉") - print("You've now explored the key features of Crawl4AI v0.5.0") - print("For more information, visit https://docs.crawl4ai.com") - - -# Run the tutorial -if __name__ == "__main__": - asyncio.run(run_tutorial()) -``` - - -## File: docs/examples/use_geo_location.py - -```py -# use_geo_location.py -""" -Example: override locale, timezone, and geolocation using Crawl4ai patterns. - -This demo uses `AsyncWebCrawler.arun()` to fetch a page with -browser context primed for specific locale, timezone, and GPS, -and saves a screenshot for visual verification. -""" - -import asyncio -import base64 -from pathlib import Path -from typing import List -from crawl4ai import ( - AsyncWebCrawler, - CrawlerRunConfig, - BrowserConfig, - GeolocationConfig, - CrawlResult, -) - -async def demo_geo_override(): - """Demo: Crawl a geolocation-test page with overrides and screenshot.""" - print("\n=== Geo-Override Crawl ===") - - # 1) Browser setup: use Playwright-managed contexts - browser_cfg = BrowserConfig( - headless=False, - viewport_width=1280, - viewport_height=720, - use_managed_browser=False, - ) - - # 2) Run config: include locale, timezone_id, geolocation, and screenshot - run_cfg = CrawlerRunConfig( - url="https://browserleaks.com/geo", # test page that shows your location - locale="en-US", # Accept-Language & UI locale - timezone_id="America/Los_Angeles", # JS Date()/Intl timezone - geolocation=GeolocationConfig( # override GPS coords - latitude=34.0522, - longitude=-118.2437, - accuracy=10.0, - ), - screenshot=True, # capture screenshot after load - session_id="geo_test", # reuse context if rerunning - delay_before_return_html=5 - ) - - async with AsyncWebCrawler(config=browser_cfg) as crawler: - # 3) Run crawl (returns list even for single URL) - results: List[CrawlResult] = await crawler.arun( - url=run_cfg.url, - config=run_cfg, - ) - result = results[0] - - # 4) Save screenshot and report path - if result.screenshot: - __current_dir = Path(__file__).parent - out_dir = __current_dir / "tmp" - out_dir.mkdir(exist_ok=True) - shot_path = out_dir / "geo_test.png" - with open(shot_path, "wb") as f: - f.write(base64.b64decode(result.screenshot)) - print(f"Saved screenshot to {shot_path}") - else: - print("No screenshot captured, check configuration.") - -if __name__ == "__main__": - asyncio.run(demo_geo_override()) - -``` - diff --git a/docs/md_v2/assets/llmtxt/crawl4ai_all_memory_content.llm.txt b/docs/md_v2/assets/llmtxt/crawl4ai_all_memory_content.llm.txt deleted file mode 100644 index d5d69346..00000000 --- a/docs/md_v2/assets/llmtxt/crawl4ai_all_memory_content.llm.txt +++ /dev/null @@ -1,16658 +0,0 @@ -# Code Concatenation - -Generated on 2025-05-24 - -## File: crawl4ai/deep_crawling/__init__.py - -```py -# deep_crawling/__init__.py -from .base_strategy import DeepCrawlDecorator, DeepCrawlStrategy -from .bfs_strategy import BFSDeepCrawlStrategy -from .bff_strategy import BestFirstCrawlingStrategy -from .dfs_strategy import DFSDeepCrawlStrategy -from .filters import ( - FilterChain, - ContentTypeFilter, - DomainFilter, - URLFilter, - URLPatternFilter, - FilterStats, - ContentRelevanceFilter, - SEOFilter -) -from .scorers import ( - KeywordRelevanceScorer, - URLScorer, - CompositeScorer, - DomainAuthorityScorer, - FreshnessScorer, - PathDepthScorer, - ContentTypeScorer -) - -__all__ = [ - "DeepCrawlDecorator", - "DeepCrawlStrategy", - "BFSDeepCrawlStrategy", - "BestFirstCrawlingStrategy", - "DFSDeepCrawlStrategy", - "FilterChain", - "ContentTypeFilter", - "DomainFilter", - "URLFilter", - "URLPatternFilter", - "FilterStats", - "ContentRelevanceFilter", - "SEOFilter", - "KeywordRelevanceScorer", - "URLScorer", - "CompositeScorer", - "DomainAuthorityScorer", - "FreshnessScorer", - "PathDepthScorer", - "ContentTypeScorer", -] - -``` - - -## File: crawl4ai/deep_crawling/base_strategy.py - -```py -from __future__ import annotations - -from abc import ABC, abstractmethod -from typing import AsyncGenerator, Optional, Set, List, Dict -from functools import wraps -from contextvars import ContextVar -from ..types import AsyncWebCrawler, CrawlerRunConfig, CrawlResult, RunManyReturn - - -class DeepCrawlDecorator: - """Decorator that adds deep crawling capability to arun method.""" - deep_crawl_active = ContextVar("deep_crawl_active", default=False) - - def __init__(self, crawler: AsyncWebCrawler): - self.crawler = crawler - - def __call__(self, original_arun): - @wraps(original_arun) - async def wrapped_arun(url: str, config: CrawlerRunConfig = None, **kwargs): - # If deep crawling is already active, call the original method to avoid recursion. - if config and config.deep_crawl_strategy and not self.deep_crawl_active.get(): - token = self.deep_crawl_active.set(True) - # Await the arun call to get the actual result object. - result_obj = await config.deep_crawl_strategy.arun( - crawler=self.crawler, - start_url=url, - config=config - ) - if config.stream: - async def result_wrapper(): - try: - async for result in result_obj: - yield result - finally: - self.deep_crawl_active.reset(token) - return result_wrapper() - else: - try: - return result_obj - finally: - self.deep_crawl_active.reset(token) - return await original_arun(url, config=config, **kwargs) - return wrapped_arun - -class DeepCrawlStrategy(ABC): - """ - Abstract base class for deep crawling strategies. - - Core functions: - - arun: Main entry point that returns an async generator of CrawlResults. - - shutdown: Clean up resources. - - can_process_url: Validate a URL and decide whether to process it. - - _process_links: Extract and process links from a CrawlResult. - """ - - @abstractmethod - async def _arun_batch( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> List[CrawlResult]: - """ - Batch (non-streaming) mode: - Processes one BFS level at a time, then yields all the results. - """ - pass - - @abstractmethod - async def _arun_stream( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Streaming mode: - Processes one BFS level at a time and yields results immediately as they arrive. - """ - pass - - async def arun( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: Optional[CrawlerRunConfig] = None, - ) -> RunManyReturn: - """ - Traverse the given URL using the specified crawler. - - Args: - start_url (str): The URL from which to start crawling. - crawler (AsyncWebCrawler): The crawler instance to use. - crawler_run_config (Optional[CrawlerRunConfig]): Crawler configuration. - - Returns: - Union[CrawlResultT, List[CrawlResultT], AsyncGenerator[CrawlResultT, None]] - """ - if config is None: - raise ValueError("CrawlerRunConfig must be provided") - - if config.stream: - return self._arun_stream(start_url, crawler, config) - else: - return await self._arun_batch(start_url, crawler, config) - - def __call__(self, start_url: str, crawler: AsyncWebCrawler, config: CrawlerRunConfig): - return self.arun(start_url, crawler, config) - - @abstractmethod - async def shutdown(self) -> None: - """ - Clean up resources used by the deep crawl strategy. - """ - pass - - @abstractmethod - async def can_process_url(self, url: str, depth: int) -> bool: - """ - Validate the URL format and apply custom filtering logic. - - Args: - url (str): The URL to validate. - depth (int): The current depth in the crawl. - - Returns: - bool: True if the URL should be processed, False otherwise. - """ - pass - - @abstractmethod - async def link_discovery( - self, - result: CrawlResult, - source_url: str, - current_depth: int, - visited: Set[str], - next_level: List[tuple], - depths: Dict[str, int], - ) -> None: - """ - Extract and process links from the given crawl result. - - This method should: - - Validate each extracted URL using can_process_url. - - Optionally score URLs. - - Append valid URLs (and their parent references) to the next_level list. - - Update the depths dictionary with the new depth for each URL. - - Args: - result (CrawlResult): The result from a crawl operation. - source_url (str): The URL from which this result was obtained. - current_depth (int): The depth at which the source URL was processed. - visited (Set[str]): Set of already visited URLs. - next_level (List[tuple]): List of tuples (url, parent_url) for the next BFS level. - depths (Dict[str, int]): Mapping of URLs to their current depth. - """ - pass - - -``` - - -## File: crawl4ai/deep_crawling/bff_strategy.py - -```py -# best_first_crawling_strategy.py -import asyncio -import logging -from datetime import datetime -from typing import AsyncGenerator, Optional, Set, Dict, List, Tuple -from urllib.parse import urlparse - -from ..models import TraversalStats -from .filters import FilterChain -from .scorers import URLScorer -from . import DeepCrawlStrategy - -from ..types import AsyncWebCrawler, CrawlerRunConfig, CrawlResult, RunManyReturn -from ..utils import normalize_url_for_deep_crawl - -from math import inf as infinity - -# Configurable batch size for processing items from the priority queue -BATCH_SIZE = 10 - - -class BestFirstCrawlingStrategy(DeepCrawlStrategy): - """ - Best-First Crawling Strategy using a priority queue. - - This strategy prioritizes URLs based on their score, ensuring that higher-value - pages are crawled first. It reimplements the core traversal loop to use a priority - queue while keeping URL validation and link discovery consistent with our design. - - Core methods: - - arun: Returns either a list (batch mode) or an async generator (stream mode). - - _arun_best_first: Core generator that uses a priority queue to yield CrawlResults. - - can_process_url: Validates URLs and applies filtering (inherited behavior). - - link_discovery: Extracts and validates links from a CrawlResult. - """ - def __init__( - self, - max_depth: int, - filter_chain: FilterChain = FilterChain(), - url_scorer: Optional[URLScorer] = None, - include_external: bool = False, - max_pages: int = infinity, - logger: Optional[logging.Logger] = None, - ): - self.max_depth = max_depth - self.filter_chain = filter_chain - self.url_scorer = url_scorer - self.include_external = include_external - self.max_pages = max_pages - self.logger = logger or logging.getLogger(__name__) - self.stats = TraversalStats(start_time=datetime.now()) - self._cancel_event = asyncio.Event() - self._pages_crawled = 0 - - async def can_process_url(self, url: str, depth: int) -> bool: - """ - Validate the URL format and apply filtering. - For the starting URL (depth 0), filtering is bypassed. - """ - try: - parsed = urlparse(url) - if not parsed.scheme or not parsed.netloc: - raise ValueError("Missing scheme or netloc") - if parsed.scheme not in ("http", "https"): - raise ValueError("Invalid scheme") - if "." not in parsed.netloc: - raise ValueError("Invalid domain") - except Exception as e: - self.logger.warning(f"Invalid URL: {url}, error: {e}") - return False - - if depth != 0 and not await self.filter_chain.apply(url): - return False - - return True - - async def link_discovery( - self, - result: CrawlResult, - source_url: str, - current_depth: int, - visited: Set[str], - next_links: List[Tuple[str, Optional[str]]], - depths: Dict[str, int], - ) -> None: - """ - Extract links from the crawl result, validate them, and append new URLs - (with their parent references) to next_links. - Also updates the depths dictionary. - """ - new_depth = current_depth + 1 - if new_depth > self.max_depth: - return - - # If we've reached the max pages limit, don't discover new links - remaining_capacity = self.max_pages - self._pages_crawled - if remaining_capacity <= 0: - self.logger.info(f"Max pages limit ({self.max_pages}) reached, stopping link discovery") - return - - # Retrieve internal links; include external links if enabled. - links = result.links.get("internal", []) - if self.include_external: - links += result.links.get("external", []) - - # If we have more links than remaining capacity, limit how many we'll process - valid_links = [] - for link in links: - url = link.get("href") - base_url = normalize_url_for_deep_crawl(url, source_url) - if base_url in visited: - continue - if not await self.can_process_url(url, new_depth): - self.stats.urls_skipped += 1 - continue - - valid_links.append(base_url) - - # If we have more valid links than capacity, limit them - if len(valid_links) > remaining_capacity: - valid_links = valid_links[:remaining_capacity] - self.logger.info(f"Limiting to {remaining_capacity} URLs due to max_pages limit") - - # Record the new depths and add to next_links - for url in valid_links: - depths[url] = new_depth - next_links.append((url, source_url)) - - async def _arun_best_first( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Core best-first crawl method using a priority queue. - - The queue items are tuples of (score, depth, url, parent_url). Lower scores - are treated as higher priority. URLs are processed in batches for efficiency. - """ - queue: asyncio.PriorityQueue = asyncio.PriorityQueue() - # Push the initial URL with score 0 and depth 0. - await queue.put((0, 0, start_url, None)) - visited: Set[str] = set() - depths: Dict[str, int] = {start_url: 0} - - while not queue.empty() and not self._cancel_event.is_set(): - # Stop if we've reached the max pages limit - if self._pages_crawled >= self.max_pages: - self.logger.info(f"Max pages limit ({self.max_pages}) reached, stopping crawl") - break - - batch: List[Tuple[float, int, str, Optional[str]]] = [] - # Retrieve up to BATCH_SIZE items from the priority queue. - for _ in range(BATCH_SIZE): - if queue.empty(): - break - item = await queue.get() - score, depth, url, parent_url = item - if url in visited: - continue - visited.add(url) - batch.append(item) - - if not batch: - continue - - # Process the current batch of URLs. - urls = [item[2] for item in batch] - batch_config = config.clone(deep_crawl_strategy=None, stream=True) - stream_gen = await crawler.arun_many(urls=urls, config=batch_config) - async for result in stream_gen: - result_url = result.url - # Find the corresponding tuple from the batch. - corresponding = next((item for item in batch if item[2] == result_url), None) - if not corresponding: - continue - score, depth, url, parent_url = corresponding - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - result.metadata["parent_url"] = parent_url - result.metadata["score"] = score - - # Count only successful crawls toward max_pages limit - if result.success: - self._pages_crawled += 1 - - yield result - - # Only discover links from successful crawls - if result.success: - # Discover new links from this result - new_links: List[Tuple[str, Optional[str]]] = [] - await self.link_discovery(result, result_url, depth, visited, new_links, depths) - - for new_url, new_parent in new_links: - new_depth = depths.get(new_url, depth + 1) - new_score = self.url_scorer.score(new_url) if self.url_scorer else 0 - await queue.put((new_score, new_depth, new_url, new_parent)) - - # End of crawl. - - async def _arun_batch( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> List[CrawlResult]: - """ - Best-first crawl in batch mode. - - Aggregates all CrawlResults into a list. - """ - results: List[CrawlResult] = [] - async for result in self._arun_best_first(start_url, crawler, config): - results.append(result) - return results - - async def _arun_stream( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Best-first crawl in streaming mode. - - Yields CrawlResults as they become available. - """ - async for result in self._arun_best_first(start_url, crawler, config): - yield result - - async def arun( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: Optional[CrawlerRunConfig] = None, - ) -> "RunManyReturn": - """ - Main entry point for best-first crawling. - - Returns either a list (batch mode) or an async generator (stream mode) - of CrawlResults. - """ - if config is None: - raise ValueError("CrawlerRunConfig must be provided") - if config.stream: - return self._arun_stream(start_url, crawler, config) - else: - return await self._arun_batch(start_url, crawler, config) - - async def shutdown(self) -> None: - """ - Signal cancellation and clean up resources. - """ - self._cancel_event.set() - self.stats.end_time = datetime.now() - -``` - - -## File: crawl4ai/deep_crawling/bfs_strategy.py - -```py -# bfs_deep_crawl_strategy.py -import asyncio -import logging -from datetime import datetime -from typing import AsyncGenerator, Optional, Set, Dict, List, Tuple -from urllib.parse import urlparse - -from ..models import TraversalStats -from .filters import FilterChain -from .scorers import URLScorer -from . import DeepCrawlStrategy -from ..types import AsyncWebCrawler, CrawlerRunConfig, CrawlResult -from ..utils import normalize_url_for_deep_crawl, efficient_normalize_url_for_deep_crawl -from math import inf as infinity - -class BFSDeepCrawlStrategy(DeepCrawlStrategy): - """ - Breadth-First Search deep crawling strategy. - - Core functions: - - arun: Main entry point; splits execution into batch or stream modes. - - link_discovery: Extracts, filters, and (if needed) scores the outgoing URLs. - - can_process_url: Validates URL format and applies the filter chain. - """ - def __init__( - self, - max_depth: int, - filter_chain: FilterChain = FilterChain(), - url_scorer: Optional[URLScorer] = None, - include_external: bool = False, - score_threshold: float = -infinity, - max_pages: int = infinity, - logger: Optional[logging.Logger] = None, - ): - self.max_depth = max_depth - self.filter_chain = filter_chain - self.url_scorer = url_scorer - self.include_external = include_external - self.score_threshold = score_threshold - self.max_pages = max_pages - self.logger = logger or logging.getLogger(__name__) - self.stats = TraversalStats(start_time=datetime.now()) - self._cancel_event = asyncio.Event() - self._pages_crawled = 0 - - async def can_process_url(self, url: str, depth: int) -> bool: - """ - Validates the URL and applies the filter chain. - For the start URL (depth 0) filtering is bypassed. - """ - try: - parsed = urlparse(url) - if not parsed.scheme or not parsed.netloc: - raise ValueError("Missing scheme or netloc") - if parsed.scheme not in ("http", "https"): - raise ValueError("Invalid scheme") - if "." not in parsed.netloc: - raise ValueError("Invalid domain") - except Exception as e: - self.logger.warning(f"Invalid URL: {url}, error: {e}") - return False - - if depth != 0 and not await self.filter_chain.apply(url): - return False - - return True - - async def link_discovery( - self, - result: CrawlResult, - source_url: str, - current_depth: int, - visited: Set[str], - next_level: List[Tuple[str, Optional[str]]], - depths: Dict[str, int], - ) -> None: - """ - Extracts links from the crawl result, validates and scores them, and - prepares the next level of URLs. - Each valid URL is appended to next_level as a tuple (url, parent_url) - and its depth is tracked. - """ - next_depth = current_depth + 1 - if next_depth > self.max_depth: - return - - # If we've reached the max pages limit, don't discover new links - remaining_capacity = self.max_pages - self._pages_crawled - if remaining_capacity <= 0: - self.logger.info(f"Max pages limit ({self.max_pages}) reached, stopping link discovery") - return - - # Get internal links and, if enabled, external links. - links = result.links.get("internal", []) - if self.include_external: - links += result.links.get("external", []) - - valid_links = [] - - # First collect all valid links - for link in links: - url = link.get("href") - # Strip URL fragments to avoid duplicate crawling - # base_url = url.split('#')[0] if url else url - base_url = normalize_url_for_deep_crawl(url, source_url) - if base_url in visited: - continue - if not await self.can_process_url(url, next_depth): - self.stats.urls_skipped += 1 - continue - - # Score the URL if a scorer is provided - score = self.url_scorer.score(base_url) if self.url_scorer else 0 - - # Skip URLs with scores below the threshold - if score < self.score_threshold: - self.logger.debug(f"URL {url} skipped: score {score} below threshold {self.score_threshold}") - self.stats.urls_skipped += 1 - continue - - visited.add(base_url) - valid_links.append((base_url, score)) - - # If we have more valid links than capacity, sort by score and take the top ones - if len(valid_links) > remaining_capacity: - if self.url_scorer: - # Sort by score in descending order - valid_links.sort(key=lambda x: x[1], reverse=True) - # Take only as many as we have capacity for - valid_links = valid_links[:remaining_capacity] - self.logger.info(f"Limiting to {remaining_capacity} URLs due to max_pages limit") - - # Process the final selected links - for url, score in valid_links: - # attach the score to metadata if needed - if score: - result.metadata = result.metadata or {} - result.metadata["score"] = score - next_level.append((url, source_url)) - depths[url] = next_depth - - async def _arun_batch( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> List[CrawlResult]: - """ - Batch (non-streaming) mode: - Processes one BFS level at a time, then yields all the results. - """ - visited: Set[str] = set() - # current_level holds tuples: (url, parent_url) - current_level: List[Tuple[str, Optional[str]]] = [(start_url, None)] - depths: Dict[str, int] = {start_url: 0} - - results: List[CrawlResult] = [] - - while current_level and not self._cancel_event.is_set(): - next_level: List[Tuple[str, Optional[str]]] = [] - urls = [url for url, _ in current_level] - - # Clone the config to disable deep crawling recursion and enforce batch mode. - batch_config = config.clone(deep_crawl_strategy=None, stream=False) - batch_results = await crawler.arun_many(urls=urls, config=batch_config) - - # Update pages crawled counter - count only successful crawls - successful_results = [r for r in batch_results if r.success] - self._pages_crawled += len(successful_results) - - for result in batch_results: - url = result.url - depth = depths.get(url, 0) - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - parent_url = next((parent for (u, parent) in current_level if u == url), None) - result.metadata["parent_url"] = parent_url - results.append(result) - - # Only discover links from successful crawls - if result.success: - # Link discovery will handle the max pages limit internally - await self.link_discovery(result, url, depth, visited, next_level, depths) - - current_level = next_level - - return results - - async def _arun_stream( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Streaming mode: - Processes one BFS level at a time and yields results immediately as they arrive. - """ - visited: Set[str] = set() - current_level: List[Tuple[str, Optional[str]]] = [(start_url, None)] - depths: Dict[str, int] = {start_url: 0} - - while current_level and not self._cancel_event.is_set(): - next_level: List[Tuple[str, Optional[str]]] = [] - urls = [url for url, _ in current_level] - visited.update(urls) - - stream_config = config.clone(deep_crawl_strategy=None, stream=True) - stream_gen = await crawler.arun_many(urls=urls, config=stream_config) - - # Keep track of processed results for this batch - results_count = 0 - async for result in stream_gen: - url = result.url - depth = depths.get(url, 0) - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - parent_url = next((parent for (u, parent) in current_level if u == url), None) - result.metadata["parent_url"] = parent_url - - # Count only successful crawls - if result.success: - self._pages_crawled += 1 - - results_count += 1 - yield result - - # Only discover links from successful crawls - if result.success: - # Link discovery will handle the max pages limit internally - await self.link_discovery(result, url, depth, visited, next_level, depths) - - # If we didn't get results back (e.g. due to errors), avoid getting stuck in an infinite loop - # by considering these URLs as visited but not counting them toward the max_pages limit - if results_count == 0 and urls: - self.logger.warning(f"No results returned for {len(urls)} URLs, marking as visited") - - current_level = next_level - - async def shutdown(self) -> None: - """ - Clean up resources and signal cancellation of the crawl. - """ - self._cancel_event.set() - self.stats.end_time = datetime.now() - -``` - - -## File: crawl4ai/deep_crawling/crazy.py - -```py -from __future__ import annotations -# I just got crazy, trying to wrute K&R C but in Python. Right now I feel like I'm in a quantum state. -# I probably won't use this; I just want to leave it here. A century later, the future human race will be like, "WTF?" - -# ------ Imports That Will Make You Question Reality ------ # -from functools import wraps -from contextvars import ContextVar -import inspect - -from crawl4ai import CacheMode -from crawl4ai.async_configs import CrawlerRunConfig -from crawl4ai.models import CrawlResult, TraversalStats -from crawl4ai.deep_crawling.filters import FilterChain -from crawl4ai.async_webcrawler import AsyncWebCrawler -import time -import logging -from urllib.parse import urlparse - -from abc import ABC, abstractmethod -from collections import deque -import asyncio -from typing import ( - AsyncGenerator, - Dict, - List, - TypeVar, - Generic, - Tuple, - Callable, - Awaitable, - Union, -) -from functools import lru_cache -import mmh3 -from bitarray import bitarray -import numpy as np -from heapq import heappush, heappop - -# ------ Type Algebra Mastery ------ # -CrawlResultT = TypeVar("CrawlResultT", bound="CrawlResult") -PriorityT = TypeVar("PriorityT") -P = TypeVar("P") - -# ------ Hyperscalar Context Management ------ # -deep_crawl_ctx = ContextVar("deep_crawl_stack", default=deque()) - -# ------ Algebraic Crawler Monoid ------ # -class TraversalContext: - __slots__ = ('visited', 'frontier', 'depths', 'priority_fn', 'current_depth') - - def __init__(self, - priority_fn: Callable[[str], Awaitable[float]] = lambda _: 1.0): - self.visited: BloomFilter = BloomFilter(10**6, 0.01) # 1M items, 1% FP - self.frontier: PriorityQueue = PriorityQueue() - self.depths: Dict[str, int] = {} - self.priority_fn = priority_fn - self.current_depth = 0 - - def clone_for_level(self) -> TraversalContext: - """Monadic context propagation""" - new_ctx = TraversalContext(self.priority_fn) - new_ctx.visited = self.visited.copy() - new_ctx.depths = self.depths.copy() - new_ctx.current_depth = self.current_depth - return new_ctx - -class PriorityQueue(Generic[PriorityT]): - """Fibonacci heap-inspired priority queue with O(1) amortized operations""" - __slots__ = ('_heap', '_index') - - def __init__(self): - self._heap: List[Tuple[PriorityT, float, P]] = [] - self._index: Dict[P, int] = {} - - def insert(self, priority: PriorityT, item: P) -> None: - tiebreaker = time.time() # Ensure FIFO for equal priorities - heappush(self._heap, (priority, tiebreaker, item)) - self._index[item] = len(self._heap) - 1 - - def extract(self, top_n = 1) -> P: - items = [] - for _ in range(top_n): - if not self._heap: - break - priority, _, item = heappop(self._heap) - del self._index[item] - items.append(item) - if not items: - raise IndexError("Priority queue empty") - return items - # while self._heap: - # _, _, item = heappop(self._heap) - # if item in self._index: - # del self._index[item] - # return item - raise IndexError("Priority queue empty") - - - def is_empty(self) -> bool: - return not bool(self._heap) - -class BloomFilter: - """Optimal Bloom filter using murmur3 hash avalanche""" - __slots__ = ('size', 'hashes', 'bits') - - def __init__(self, capacity: int, error_rate: float): - self.size = self._optimal_size(capacity, error_rate) - self.hashes = self._optimal_hashes(capacity, self.size) - self.bits = bitarray(self.size) - self.bits.setall(False) - - @staticmethod - def _optimal_size(n: int, p: float) -> int: - m = - (n * np.log(p)) / (np.log(2) ** 2) - return int(np.ceil(m)) - - @staticmethod - def _optimal_hashes(n: int, m: int) -> int: - k = (m / n) * np.log(2) - return int(np.ceil(k)) - - def add(self, item: str) -> None: - for seed in range(self.hashes): - digest = mmh3.hash(item, seed) % self.size - self.bits[digest] = True - - def __contains__(self, item: str) -> bool: - return all( - self.bits[mmh3.hash(item, seed) % self.size] - for seed in range(self.hashes) - ) - - def copy(self) -> BloomFilter: - new = object.__new__(BloomFilter) - new.size = self.size - new.hashes = self.hashes - new.bits = self.bits.copy() - return new - - def __len__(self) -> int: - """ - Estimates the number of items in the filter using the - count of set bits and the formula: - n = -m/k * ln(1 - X/m) - where: - m = size of bit array - k = number of hash functions - X = count of set bits - """ - set_bits = self.bits.count(True) - if set_bits == 0: - return 0 - - # Use the inverse bloom filter formula to estimate cardinality - return int( - -(self.size / self.hashes) * - np.log(1 - set_bits / self.size) - ) - - def bit_count(self) -> int: - """Returns the raw count of set bits in the filter""" - return self.bits.count(True) - - def __repr__(self) -> str: - return f"BloomFilter(est_items={len(self)}, bits={self.bit_count()}/{self.size})" - -# ------ Hyper-Optimal Deep Crawl Core ------ # -class DeepCrawlDecorator: - """Metaprogramming marvel: Zero-cost deep crawl abstraction""" - def __init__(self, crawler: AsyncWebCrawler): - self.crawler = crawler - - def __call__(self, original_arun: Callable) -> Callable: - @wraps(original_arun) - async def quantum_arun(url: str, config: CrawlerRunConfig = None, **kwargs): - stack = deep_crawl_ctx.get() - if config and config.deep_crawl_strategy and not stack: - stack.append(self.crawler) - try: - deep_crawl_ctx.set(stack) - async for result in config.deep_crawl_strategy.traverse( - start_url=url, - crawler=self.crawler, - config=config - ): - yield result - finally: - stack.pop() - deep_crawl_ctx.set(stack) - else: - result = await original_arun(url, config=config, **kwargs) - yield result - return quantum_arun - - -async def collect_results(url, crawler, config): - if id(getattr(crawler, "arun")) != id(getattr(crawler, "original_arun")): - setattr(crawler, "arun", getattr(crawler, "original_arun")) - - ret = crawler.arun(url, config=config) - # If arun is an async generator, iterate over it - if inspect.isasyncgen(ret): - return [r async for r in ret] - # Otherwise, await the coroutine and normalize to a list - result = await ret - return result if isinstance(result, list) else [result] - -async def collect_many_results(url, crawler, config): - # Replace back arun to its original implementation - if id(getattr(crawler, "arun")) != id(getattr(crawler, "original_arun")): - setattr(crawler, "arun", getattr(crawler, "original_arun")) - ret = crawler.arun_many(url, config=config) - # If arun is an async generator, iterate over it - if inspect.isasyncgen(ret): - return [r async for r in ret] - # Otherwise, await the coroutine and normalize to a list - result = await ret - return result if isinstance(result, list) else [result] - - -# ------ Deep Crawl Strategy Interface ------ # -CrawlResultT = TypeVar("CrawlResultT", bound=CrawlResult) -# In batch mode we return List[CrawlResult] and in stream mode an AsyncGenerator. -RunManyReturn = Union[CrawlResultT, List[CrawlResultT], AsyncGenerator[CrawlResultT, None]] - - -class DeepCrawlStrategy(ABC): - """Abstract base class that will make Dijkstra smile""" - @abstractmethod - async def traverse(self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig) -> RunManyReturn: - """Traverse with O(1) memory complexity via generator fusion""" - ... - - @abstractmethod - def precompute_priority(self, url: str) -> Awaitable[float]: - """Quantum-inspired priority precomputation""" - pass - - @abstractmethod - async def link_hypercube(self, result: CrawlResult) -> AsyncGenerator[str, None]: - """Hilbert-curve optimized link generation""" - pass - -# ------ BFS That Would Make Knuth Proud ------ # - -def calculate_quantum_batch_size( - depth: int, - max_depth: int, - frontier_size: int, - visited_size: int -) -> int: - """ - Calculates optimal batch size for URL processing using quantum-inspired mathematical principles. - - This function implements a sophisticated batch size calculation using: - 1. Golden Ratio (φ) based scaling for optimal irrationality - 2. Depth-aware amplitude modulation - 3. Harmonic series dampening - 4. Logarithmic growth control - 5. Dynamic frontier adaptation - - The formula follows the quantum harmonic oscillator principle: - N = ⌈φ^(2d) * log₂(|V|) * H(d)⁻¹ * min(20, |F|/10)⌉ - where: - φ = Golden Ratio ((1 + √5) / 2) - d = depth factor (normalized remaining depth) - |V| = size of visited set - H(d) = d-th harmonic number - |F| = frontier size - - Args: - depth (int): Current traversal depth - max_depth (int): Maximum allowed depth - frontier_size (int): Current size of frontier queue - visited_size (int): Number of URLs visited so far - - Returns: - int: Optimal batch size bounded between 1 and 100 - - Mathematical Properties: - - Maintains O(log n) growth with respect to visited size - - Provides φ-optimal distribution of resources - - Ensures quantum-like state transitions between depths - - Harmonically dampened to prevent exponential explosion - """ - # Golden ratio φ = (1 + √5) / 2 - φ = (1 + 5 ** 0.5) / 2 - - # Calculate normalized depth factor [0, 1] - depth_factor = (max_depth - depth) / max_depth if depth < max_depth else 0 - - # Compute harmonic number for current depth - harmonic = sum(1/k for k in range(1, depth + 2)) - - # Calculate quantum batch size - batch_size = int(np.ceil( - (φ ** (depth_factor * 2)) * # Golden ratio scaling - np.log2(visited_size + 2) * # Logarithmic growth factor - (1 / harmonic) * # Harmonic dampening - max(1, min(20, frontier_size / 10)) # Frontier-aware scaling - )) - - # Enforce practical bounds - return max(1, min(100, batch_size)) - - -class BFSDeepCrawlStrategy(DeepCrawlStrategy): - """Breadth-First Search with Einstein-Rosen bridge optimization""" - __slots__ = ('max_depth', 'filter_chain', 'priority_fn', 'stats', '_cancel') - - def __init__(self, - max_depth: int, - filter_chain: FilterChain = FilterChain(), - priority_fn: Callable[[str], Awaitable[float]] = lambda url: 1.0, - logger: logging.Logger = None): - self.max_depth = max_depth - self.filter_chain = filter_chain - self.priority_fn = priority_fn - self.stats = TraversalStats() - self._cancel = asyncio.Event() - self.semaphore = asyncio.Semaphore(1000) - - async def traverse(self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig) -> RunManyReturn: - """Non-blocking BFS with O(b^d) time complexity awareness""" - ctx = TraversalContext(self.priority_fn) - ctx.frontier.insert(self.priority_fn(start_url), (start_url, None, 0)) - ctx.visited.add(start_url) - ctx.depths[start_url] = 0 - - while not ctx.frontier.is_empty() and not self._cancel.is_set(): - # Use the best algorith, to find top_n value - top_n = calculate_quantum_batch_size( - depth=ctx.current_depth, - max_depth=self.max_depth, - frontier_size=len(ctx.frontier._heap), - visited_size=len(ctx.visited) - ) - - urls = ctx.frontier.extract(top_n=top_n) - # url, parent, depth = ctx.frontier.extract(top_n=top_n) - if urls: - ctx.current_depth = urls[0][2] - - async with self.semaphore: - results = await collect_many_results([url for (url, parent, depth) in urls], crawler, config) - # results = await asyncio.gather(*[ - # collect_results(url, crawler, config) for (url, parent, depth) in urls - # ]) - # result = _result[0] - for ix, result in enumerate(results): - url, parent, depth = result.url, urls[ix][1], urls[ix][2] - result.metadata['depth'] = depth - result.metadata['parent'] = parent - yield result - - if depth < self.max_depth: - async for link in self.link_hypercube(result): - if link not in ctx.visited: - priority = self.priority_fn(link) - ctx.frontier.insert(priority, (link, url, depth + 1)) - ctx.visited.add(link) - ctx.depths[link] = depth + 1 - - @lru_cache(maxsize=65536) - async def validate_url(self, url: str) -> bool: - """Memoized URL validation with λ-calculus purity""" - try: - parsed = urlparse(url) - return (parsed.scheme in {'http', 'https'} - and '.' in parsed.netloc - and await self.filter_chain.apply(url)) - except Exception: - return False - - async def link_hypercube(self, result: CrawlResult) -> AsyncGenerator[str, None]: - """Hilbert-ordered link generation with O(1) yield latency""" - links = (link['href'] for link in result.links.get('internal', [])) - validated = filter(self.validate_url, links) - for link in sorted(validated, key=lambda x: -self.priority_fn(x)): - yield link - - def __aiter__(self) -> AsyncGenerator[CrawlResult, None]: - """Native async iterator interface""" - return self.traverse() - - async def __anext__(self) -> CrawlResult: - """True async iterator protocol implementation""" - result = await self.traverse().__anext__() - if result: - return result - raise StopAsyncIteration - - async def precompute_priority(self, url): - return super().precompute_priority(url) - - async def shutdown(self): - self._cancel.set() - -# ------ Usage That Will Drop Jaws ------ # -async def main(): - """Quantum crawl example""" - strategy = BFSDeepCrawlStrategy( - max_depth=2, - priority_fn=lambda url: 1.0 / (len(url) + 1e-9), # Inverse length priority - # filter_chain=FilterChain(...) - ) - - config: CrawlerRunConfig = CrawlerRunConfig( - deep_crawl_strategy=strategy, - stream=False, - verbose=True, - cache_mode=CacheMode.BYPASS - ) - - async with AsyncWebCrawler() as crawler: - run_decorator = DeepCrawlDecorator(crawler) - setattr(crawler, "original_arun", crawler.arun) - crawler.arun = run_decorator(crawler.arun) - start_time = time.perf_counter() - async for result in crawler.arun("https://docs.crawl4ai.com", config=config): - print(f"🌀 {result.url} (Depth: {result.metadata['depth']})") - print(f"Deep crawl completed in {time.perf_counter() - start_time:.2f}s") - - -if __name__ == "__main__": - asyncio.run(main()) - -``` - - -## File: crawl4ai/deep_crawling/dfs_strategy.py - -```py -# dfs_deep_crawl_strategy.py -from typing import AsyncGenerator, Optional, Set, Dict, List, Tuple - -from ..models import CrawlResult -from .bfs_strategy import BFSDeepCrawlStrategy # noqa -from ..types import AsyncWebCrawler, CrawlerRunConfig - -class DFSDeepCrawlStrategy(BFSDeepCrawlStrategy): - """ - Depth-First Search (DFS) deep crawling strategy. - - Inherits URL validation and link discovery from BFSDeepCrawlStrategy. - Overrides _arun_batch and _arun_stream to use a stack (LIFO) for DFS traversal. - """ - async def _arun_batch( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> List[CrawlResult]: - """ - Batch (non-streaming) DFS mode. - Uses a stack to traverse URLs in DFS order, aggregating CrawlResults into a list. - """ - visited: Set[str] = set() - # Stack items: (url, parent_url, depth) - stack: List[Tuple[str, Optional[str], int]] = [(start_url, None, 0)] - depths: Dict[str, int] = {start_url: 0} - results: List[CrawlResult] = [] - - while stack and not self._cancel_event.is_set(): - url, parent, depth = stack.pop() - if url in visited or depth > self.max_depth: - continue - visited.add(url) - - # Clone config to disable recursive deep crawling. - batch_config = config.clone(deep_crawl_strategy=None, stream=False) - url_results = await crawler.arun_many(urls=[url], config=batch_config) - - for result in url_results: - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - result.metadata["parent_url"] = parent - if self.url_scorer: - result.metadata["score"] = self.url_scorer.score(url) - results.append(result) - - # Count only successful crawls toward max_pages limit - if result.success: - self._pages_crawled += 1 - - # Only discover links from successful crawls - new_links: List[Tuple[str, Optional[str]]] = [] - await self.link_discovery(result, url, depth, visited, new_links, depths) - - # Push new links in reverse order so the first discovered is processed next. - for new_url, new_parent in reversed(new_links): - new_depth = depths.get(new_url, depth + 1) - stack.append((new_url, new_parent, new_depth)) - return results - - async def _arun_stream( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Streaming DFS mode. - Uses a stack to traverse URLs in DFS order and yields CrawlResults as they become available. - """ - visited: Set[str] = set() - stack: List[Tuple[str, Optional[str], int]] = [(start_url, None, 0)] - depths: Dict[str, int] = {start_url: 0} - - while stack and not self._cancel_event.is_set(): - url, parent, depth = stack.pop() - if url in visited or depth > self.max_depth: - continue - visited.add(url) - - stream_config = config.clone(deep_crawl_strategy=None, stream=True) - stream_gen = await crawler.arun_many(urls=[url], config=stream_config) - async for result in stream_gen: - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - result.metadata["parent_url"] = parent - if self.url_scorer: - result.metadata["score"] = self.url_scorer.score(url) - yield result - - # Only count successful crawls toward max_pages limit - # and only discover links from successful crawls - if result.success: - self._pages_crawled += 1 - - new_links: List[Tuple[str, Optional[str]]] = [] - await self.link_discovery(result, url, depth, visited, new_links, depths) - for new_url, new_parent in reversed(new_links): - new_depth = depths.get(new_url, depth + 1) - stack.append((new_url, new_parent, new_depth)) - -``` - - -## File: crawl4ai/deep_crawling/filters.py - -```py -from abc import ABC, abstractmethod -from typing import List, Pattern, Set, Union -from urllib.parse import urlparse -from array import array -import re -import logging -from functools import lru_cache -import fnmatch -from dataclasses import dataclass -import weakref -import math -from collections import defaultdict -from typing import Dict -from ..utils import HeadPeekr -import asyncio -import inspect - - -@dataclass -class FilterStats: - __slots__ = ("_counters",) - - def __init__(self): - # Use array of unsigned ints for atomic operations - self._counters = array("I", [0, 0, 0]) # total, passed, rejected - - @property - def total_urls(self): - return self._counters[0] - - @property - def passed_urls(self): - return self._counters[1] - - @property - def rejected_urls(self): - return self._counters[2] - - -class URLFilter(ABC): - """Optimized base filter class""" - - __slots__ = ("name", "stats", "_logger_ref") - - def __init__(self, name: str = None): - self.name = name or self.__class__.__name__ - self.stats = FilterStats() - # Lazy logger initialization using weakref - self._logger_ref = None - - @property - def logger(self): - if self._logger_ref is None or self._logger_ref() is None: - logger = logging.getLogger(f"urlfilter.{self.name}") - self._logger_ref = weakref.ref(logger) - return self._logger_ref() - - @abstractmethod - def apply(self, url: str) -> bool: - pass - - def _update_stats(self, passed: bool): - # Use direct array index for speed - self.stats._counters[0] += 1 # total - self.stats._counters[1] += passed # passed - self.stats._counters[2] += not passed # rejected - - -class FilterChain: - """Optimized filter chain""" - - __slots__ = ("filters", "stats", "_logger_ref") - - def __init__(self, filters: List[URLFilter] = None): - self.filters = tuple(filters or []) # Immutable tuple for speed - self.stats = FilterStats() - self._logger_ref = None - - @property - def logger(self): - if self._logger_ref is None or self._logger_ref() is None: - logger = logging.getLogger("urlfilter.chain") - self._logger_ref = weakref.ref(logger) - return self._logger_ref() - - def add_filter(self, filter_: URLFilter) -> "FilterChain": - """Add a filter to the chain""" - self.filters.append(filter_) - return self # Enable method chaining - - async def apply(self, url: str) -> bool: - """Apply all filters concurrently when possible""" - self.stats._counters[0] += 1 # Total processed URLs - - tasks = [] - for f in self.filters: - result = f.apply(url) - - if inspect.isawaitable(result): - tasks.append(result) # Collect async tasks - elif not result: # Sync rejection - self.stats._counters[2] += 1 # Sync rejected - return False - - if tasks: - results = await asyncio.gather(*tasks) - - # Count how many filters rejected - rejections = results.count(False) - self.stats._counters[2] += rejections - - if not all(results): - return False # Stop early if any filter rejected - - self.stats._counters[1] += 1 # Passed - return True - - -class URLPatternFilter(URLFilter): - """Pattern filter balancing speed and completeness""" - - __slots__ = ( - "_simple_suffixes", - "_simple_prefixes", - "_domain_patterns", - "_path_patterns", - "_reverse", - ) - - PATTERN_TYPES = { - "SUFFIX": 1, # *.html - "PREFIX": 2, # /foo/* - "DOMAIN": 3, # *.example.com - "PATH": 4, # Everything else - "REGEX": 5, - } - - def __init__( - self, - patterns: Union[str, Pattern, List[Union[str, Pattern]]], - use_glob: bool = True, - reverse: bool = False, - ): - super().__init__() - self._reverse = reverse - patterns = [patterns] if isinstance(patterns, (str, Pattern)) else patterns - - self._simple_suffixes = set() - self._simple_prefixes = set() - self._domain_patterns = [] - self._path_patterns = [] - - for pattern in patterns: - pattern_type = self._categorize_pattern(pattern) - self._add_pattern(pattern, pattern_type) - - def _categorize_pattern(self, pattern: str) -> int: - """Categorize pattern for specialized handling""" - if not isinstance(pattern, str): - return self.PATTERN_TYPES["PATH"] - - # Check if it's a regex pattern - if pattern.startswith("^") or pattern.endswith("$") or "\\d" in pattern: - return self.PATTERN_TYPES["REGEX"] - - if pattern.count("*") == 1: - if pattern.startswith("*."): - return self.PATTERN_TYPES["SUFFIX"] - if pattern.endswith("/*"): - return self.PATTERN_TYPES["PREFIX"] - - if "://" in pattern and pattern.startswith("*."): - return self.PATTERN_TYPES["DOMAIN"] - - return self.PATTERN_TYPES["PATH"] - - def _add_pattern(self, pattern: str, pattern_type: int): - """Add pattern to appropriate matcher""" - if pattern_type == self.PATTERN_TYPES["REGEX"]: - # For regex patterns, compile directly without glob translation - if isinstance(pattern, str) and ( - pattern.startswith("^") or pattern.endswith("$") or "\\d" in pattern - ): - self._path_patterns.append(re.compile(pattern)) - return - elif pattern_type == self.PATTERN_TYPES["SUFFIX"]: - self._simple_suffixes.add(pattern[2:]) - elif pattern_type == self.PATTERN_TYPES["PREFIX"]: - self._simple_prefixes.add(pattern[:-2]) - elif pattern_type == self.PATTERN_TYPES["DOMAIN"]: - self._domain_patterns.append(re.compile(pattern.replace("*.", r"[^/]+\."))) - else: - if isinstance(pattern, str): - # Handle complex glob patterns - if "**" in pattern: - pattern = pattern.replace("**", ".*") - if "{" in pattern: - # Convert {a,b} to (a|b) - pattern = re.sub( - r"\{([^}]+)\}", - lambda m: f'({"|".join(m.group(1).split(","))})', - pattern, - ) - pattern = fnmatch.translate(pattern) - self._path_patterns.append( - pattern if isinstance(pattern, Pattern) else re.compile(pattern) - ) - - @lru_cache(maxsize=10000) - def apply(self, url: str) -> bool: - # Quick suffix check (*.html) - if self._simple_suffixes: - path = url.split("?")[0] - if path.split("/")[-1].split(".")[-1] in self._simple_suffixes: - result = True - self._update_stats(result) - return not result if self._reverse else result - - # Domain check - if self._domain_patterns: - for pattern in self._domain_patterns: - if pattern.match(url): - result = True - self._update_stats(result) - return not result if self._reverse else result - - # Prefix check (/foo/*) - if self._simple_prefixes: - path = url.split("?")[0] - if any(path.startswith(p) for p in self._simple_prefixes): - result = True - self._update_stats(result) - return not result if self._reverse else result - - # Complex patterns - if self._path_patterns: - if any(p.search(url) for p in self._path_patterns): - result = True - self._update_stats(result) - return not result if self._reverse else result - - result = False - self._update_stats(result) - return not result if self._reverse else result - - -class ContentTypeFilter(URLFilter): - """Optimized content type filter using fast lookups""" - - __slots__ = ("allowed_types", "_ext_map", "_check_extension") - - # Fast extension to mime type mapping - _MIME_MAP = { - # Text Formats - "txt": "text/plain", - "html": "text/html", - "htm": "text/html", - "xhtml": "application/xhtml+xml", - "css": "text/css", - "csv": "text/csv", - "ics": "text/calendar", - "js": "application/javascript", - # Images - "bmp": "image/bmp", - "gif": "image/gif", - "jpeg": "image/jpeg", - "jpg": "image/jpeg", - "png": "image/png", - "svg": "image/svg+xml", - "tiff": "image/tiff", - "ico": "image/x-icon", - "webp": "image/webp", - # Audio - "mp3": "audio/mpeg", - "wav": "audio/wav", - "ogg": "audio/ogg", - "m4a": "audio/mp4", - "aac": "audio/aac", - # Video - "mp4": "video/mp4", - "mpeg": "video/mpeg", - "webm": "video/webm", - "avi": "video/x-msvideo", - "mov": "video/quicktime", - "flv": "video/x-flv", - "wmv": "video/x-ms-wmv", - "mkv": "video/x-matroska", - # Applications - "json": "application/json", - "xml": "application/xml", - "pdf": "application/pdf", - "zip": "application/zip", - "gz": "application/gzip", - "tar": "application/x-tar", - "rar": "application/vnd.rar", - "7z": "application/x-7z-compressed", - "exe": "application/vnd.microsoft.portable-executable", - "msi": "application/x-msdownload", - # Fonts - "woff": "font/woff", - "woff2": "font/woff2", - "ttf": "font/ttf", - "otf": "font/otf", - # Microsoft Office - "doc": "application/msword", - "dot": "application/msword", - "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", - "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - "xls": "application/vnd.ms-excel", - "ppt": "application/vnd.ms-powerpoint", - "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation", - # OpenDocument Formats - "odt": "application/vnd.oasis.opendocument.text", - "ods": "application/vnd.oasis.opendocument.spreadsheet", - "odp": "application/vnd.oasis.opendocument.presentation", - # Archives - "tar.gz": "application/gzip", - "tgz": "application/gzip", - "bz2": "application/x-bzip2", - # Others - "rtf": "application/rtf", - "apk": "application/vnd.android.package-archive", - "epub": "application/epub+zip", - "jar": "application/java-archive", - "swf": "application/x-shockwave-flash", - "midi": "audio/midi", - "mid": "audio/midi", - "ps": "application/postscript", - "ai": "application/postscript", - "eps": "application/postscript", - # Custom or less common - "bin": "application/octet-stream", - "dmg": "application/x-apple-diskimage", - "iso": "application/x-iso9660-image", - "deb": "application/x-debian-package", - "rpm": "application/x-rpm", - "sqlite": "application/vnd.sqlite3", - # Placeholder - "unknown": "application/octet-stream", # Fallback for unknown file types - } - - @staticmethod - @lru_cache(maxsize=1000) - def _extract_extension(url: str) -> str: - """Extracts file extension from a URL.""" - # Remove scheme (http://, https://) if present - if "://" in url: - url = url.split("://", 1)[-1] # Get everything after '://' - - # Remove domain (everything up to the first '/') - path_start = url.find("/") - path = url[path_start:] if path_start != -1 else "" - - # Extract last filename in path - filename = path.rsplit("/", 1)[-1] if "/" in path else "" - - # Extract and validate extension - if "." not in filename: - return "" - - return filename.rpartition(".")[-1].lower() - - def __init__( - self, - allowed_types: Union[str, List[str]], - check_extension: bool = True, - ext_map: Dict[str, str] = _MIME_MAP, - ): - super().__init__() - # Normalize and store as frozenset for fast lookup - self.allowed_types = frozenset( - t.lower() - for t in ( - allowed_types if isinstance(allowed_types, list) else [allowed_types] - ) - ) - self._check_extension = check_extension - - # Pre-compute extension map for allowed types - self._ext_map = frozenset( - ext - for ext, mime in self._MIME_MAP.items() - if any(allowed in mime for allowed in self.allowed_types) - ) - - @lru_cache(maxsize=1000) - def _check_url_cached(self, url: str) -> bool: - """Cached URL checking""" - if not self._check_extension: - return True - ext = self._extract_extension(url) - if not ext: - return True - - return ext in self._ext_map - - def apply(self, url: str) -> bool: - """Fast extension check with caching""" - result = self._check_url_cached(url) - self._update_stats(result) - return result - - -class DomainFilter(URLFilter): - """Optimized domain filter with fast lookups and caching""" - - __slots__ = ("_allowed_domains", "_blocked_domains", "_domain_cache") - - # Regex for fast domain extraction - _DOMAIN_REGEX = re.compile(r"://([^/]+)") - - def __init__( - self, - allowed_domains: Union[str, List[str]] = None, - blocked_domains: Union[str, List[str]] = None, - ): - super().__init__() - - # Convert inputs to frozensets for immutable, fast lookups - self._allowed_domains = ( - frozenset(self._normalize_domains(allowed_domains)) - if allowed_domains - else None - ) - self._blocked_domains = ( - frozenset(self._normalize_domains(blocked_domains)) - if blocked_domains - else frozenset() - ) - - @staticmethod - def _normalize_domains(domains: Union[str, List[str]]) -> Set[str]: - """Fast domain normalization""" - if isinstance(domains, str): - return {domains.lower()} - return {d.lower() for d in domains} - - @staticmethod - def _is_subdomain(domain: str, parent_domain: str) -> bool: - """Check if domain is a subdomain of parent_domain""" - return domain == parent_domain or domain.endswith(f".{parent_domain}") - - @staticmethod - @lru_cache(maxsize=10000) - def _extract_domain(url: str) -> str: - """Ultra-fast domain extraction with regex and caching""" - match = DomainFilter._DOMAIN_REGEX.search(url) - return match.group(1).lower() if match else "" - - def apply(self, url: str) -> bool: - """Optimized domain checking with early returns""" - # Skip processing if no filters - if not self._blocked_domains and self._allowed_domains is None: - self._update_stats(True) - return True - - domain = self._extract_domain(url) - - # Check for blocked domains, including subdomains - for blocked in self._blocked_domains: - if self._is_subdomain(domain, blocked): - self._update_stats(False) - return False - - # If no allowed domains specified, accept all non-blocked - if self._allowed_domains is None: - self._update_stats(True) - return True - - # Check if domain matches any allowed domain (including subdomains) - for allowed in self._allowed_domains: - if self._is_subdomain(domain, allowed): - self._update_stats(True) - return True - - # No matches found - self._update_stats(False) - return False - - -class ContentRelevanceFilter(URLFilter): - """BM25-based relevance filter using head section content""" - - __slots__ = ("query_terms", "threshold", "k1", "b", "avgdl") - - def __init__( - self, - query: str, - threshold: float, - k1: float = 1.2, - b: float = 0.75, - avgdl: int = 1000, - ): - super().__init__(name="BM25RelevanceFilter") - self.query_terms = self._tokenize(query) - self.threshold = threshold - self.k1 = k1 # TF saturation parameter - self.b = b # Length normalization parameter - self.avgdl = avgdl # Average document length (empirical value) - - async def apply(self, url: str) -> bool: - head_content = await HeadPeekr.peek_html(url) - if not head_content: - self._update_stats(False) - return False - - # Field extraction with weighting - fields = { - "title": HeadPeekr.get_title(head_content) or "", - "meta": HeadPeekr.extract_meta_tags(head_content), - } - doc_text = self._build_document(fields) - - score = self._bm25(doc_text) - decision = score >= self.threshold - self._update_stats(decision) - return decision - - def _build_document(self, fields: Dict) -> str: - """Weighted document construction""" - return " ".join( - [ - fields["title"] * 3, # Title weight - fields["meta"].get("description", "") * 2, - fields["meta"].get("keywords", ""), - " ".join(fields["meta"].values()), - ] - ) - - def _tokenize(self, text: str) -> List[str]: - """Fast case-insensitive tokenization""" - return text.lower().split() - - def _bm25(self, document: str) -> float: - """Optimized BM25 implementation for head sections""" - doc_terms = self._tokenize(document) - doc_len = len(doc_terms) - tf = defaultdict(int) - - for term in doc_terms: - tf[term] += 1 - - score = 0.0 - for term in set(self.query_terms): - term_freq = tf[term] - idf = math.log((1 + 1) / (term_freq + 0.5) + 1) # Simplified IDF - numerator = term_freq * (self.k1 + 1) - denominator = term_freq + self.k1 * ( - 1 - self.b + self.b * (doc_len / self.avgdl) - ) - score += idf * (numerator / denominator) - - return score - - -class SEOFilter(URLFilter): - """Quantitative SEO quality assessment filter using head section analysis""" - - __slots__ = ("threshold", "_weights", "_kw_patterns") - - # Based on SEMrush/Google ranking factors research - DEFAULT_WEIGHTS = { - "title_length": 0.15, - "title_kw": 0.18, - "meta_description": 0.12, - "canonical": 0.10, - "robot_ok": 0.20, # Most critical factor - "schema_org": 0.10, - "url_quality": 0.15, - } - - def __init__( - self, - threshold: float = 0.65, - keywords: List[str] = None, - weights: Dict[str, float] = None, - ): - super().__init__(name="SEOFilter") - self.threshold = threshold - self._weights = weights or self.DEFAULT_WEIGHTS - self._kw_patterns = ( - re.compile( - r"\b({})\b".format("|".join(map(re.escape, keywords or []))), re.I - ) - if keywords - else None - ) - - async def apply(self, url: str) -> bool: - head_content = await HeadPeekr.peek_html(url) - if not head_content: - self._update_stats(False) - return False - - meta = HeadPeekr.extract_meta_tags(head_content) - title = HeadPeekr.get_title(head_content) or "" - parsed_url = urlparse(url) - - scores = { - "title_length": self._score_title_length(title), - "title_kw": self._score_keyword_presence(title), - "meta_description": self._score_meta_description( - meta.get("description", "") - ), - "canonical": self._score_canonical(meta.get("canonical"), url), - "robot_ok": 1.0 if "noindex" not in meta.get("robots", "") else 0.0, - "schema_org": self._score_schema_org(head_content), - "url_quality": self._score_url_quality(parsed_url), - } - - total_score = sum( - weight * scores[factor] for factor, weight in self._weights.items() - ) - - decision = total_score >= self.threshold - self._update_stats(decision) - return decision - - def _score_title_length(self, title: str) -> float: - length = len(title) - if 50 <= length <= 60: - return 1.0 - if 40 <= length < 50 or 60 < length <= 70: - return 0.7 - return 0.3 # Poor length - - def _score_keyword_presence(self, text: str) -> float: - if not self._kw_patterns: - return 0.0 - matches = len(self._kw_patterns.findall(text)) - return min(matches * 0.3, 1.0) # Max 3 matches - - def _score_meta_description(self, desc: str) -> float: - length = len(desc) - if 140 <= length <= 160: - return 1.0 - return 0.5 if 120 <= length <= 200 else 0.2 - - def _score_canonical(self, canonical: str, original: str) -> float: - if not canonical: - return 0.5 # Neutral score - return 1.0 if canonical == original else 0.2 - - def _score_schema_org(self, html: str) -> float: - # Detect any schema.org markup in head - return ( - 1.0 - if re.search(r']+type=["\']application/ld\+json', html) - else 0.0 - ) - - def _score_url_quality(self, parsed_url) -> float: - score = 1.0 - path = parsed_url.path.lower() - - # Penalty factors - if len(path) > 80: - score *= 0.7 - if re.search(r"\d{4}", path): - score *= 0.8 # Numbers in path - if parsed_url.query: - score *= 0.6 # URL parameters - if "_" in path: - score *= 0.9 # Underscores vs hyphens - - return score - -``` - - -## File: crawl4ai/deep_crawling/scorers.py - -```py -from abc import ABC, abstractmethod -from typing import List, Dict, Optional -from dataclasses import dataclass -from urllib.parse import urlparse, unquote -import re -import logging -from functools import lru_cache -from array import array -import ctypes -import platform -PLATFORM = platform.system() - -# Pre-computed scores for common year differences -_SCORE_LOOKUP = [1.0, 0.5, 0.3333333333333333, 0.25] - -# Pre-computed scores for common year differences -_FRESHNESS_SCORES = [ - 1.0, # Current year - 0.9, # Last year - 0.8, # 2 years ago - 0.7, # 3 years ago - 0.6, # 4 years ago - 0.5, # 5 years ago -] - -class ScoringStats: - __slots__ = ('_urls_scored', '_total_score', '_min_score', '_max_score') - - def __init__(self): - self._urls_scored = 0 - self._total_score = 0.0 - self._min_score = None # Lazy initialization - self._max_score = None - - def update(self, score: float) -> None: - """Optimized update with minimal operations""" - self._urls_scored += 1 - self._total_score += score - - # Lazy min/max tracking - only if actually accessed - if self._min_score is not None: - if score < self._min_score: - self._min_score = score - if self._max_score is not None: - if score > self._max_score: - self._max_score = score - - def get_average(self) -> float: - """Direct calculation instead of property""" - return self._total_score / self._urls_scored if self._urls_scored else 0.0 - - def get_min(self) -> float: - """Lazy min calculation""" - if self._min_score is None: - self._min_score = self._total_score / self._urls_scored if self._urls_scored else 0.0 - return self._min_score - - def get_max(self) -> float: - """Lazy max calculation""" - if self._max_score is None: - self._max_score = self._total_score / self._urls_scored if self._urls_scored else 0.0 - return self._max_score -class URLScorer(ABC): - __slots__ = ('_weight', '_stats') - - def __init__(self, weight: float = 1.0): - # Store weight directly as float32 for memory efficiency - self._weight = ctypes.c_float(weight).value - self._stats = ScoringStats() - - @abstractmethod - def _calculate_score(self, url: str) -> float: - """Calculate raw score for URL.""" - pass - - def score(self, url: str) -> float: - """Calculate weighted score with minimal overhead.""" - score = self._calculate_score(url) * self._weight - self._stats.update(score) - return score - - @property - def stats(self): - """Access to scoring statistics.""" - return self._stats - - @property - def weight(self): - return self._weight - -class CompositeScorer(URLScorer): - __slots__ = ('_scorers', '_normalize', '_weights_array', '_score_array') - - def __init__(self, scorers: List[URLScorer], normalize: bool = True): - """Initialize composite scorer combining multiple scoring strategies. - - Optimized for: - - Fast parallel scoring - - Memory efficient score aggregation - - Quick short-circuit conditions - - Pre-allocated arrays - - Args: - scorers: List of scoring strategies to combine - normalize: Whether to normalize final score by scorer count - """ - super().__init__(weight=1.0) - self._scorers = scorers - self._normalize = normalize - - # Pre-allocate arrays for scores and weights - self._weights_array = array('f', [s.weight for s in scorers]) - self._score_array = array('f', [0.0] * len(scorers)) - - @lru_cache(maxsize=10000) - def _calculate_score(self, url: str) -> float: - """Calculate combined score from all scoring strategies. - - Uses: - 1. Pre-allocated arrays for scores - 2. Short-circuit on zero scores - 3. Optimized normalization - 4. Vectorized operations where possible - - Args: - url: URL to score - - Returns: - Combined and optionally normalized score - """ - total_score = 0.0 - scores = self._score_array - - # Get scores from all scorers - for i, scorer in enumerate(self._scorers): - # Use public score() method which applies weight - scores[i] = scorer.score(url) - total_score += scores[i] - - # Normalize if requested - if self._normalize and self._scorers: - count = len(self._scorers) - return total_score / count - - return total_score - - def score(self, url: str) -> float: - """Public scoring interface with stats tracking. - - Args: - url: URL to score - - Returns: - Final combined score - """ - score = self._calculate_score(url) - self.stats.update(score) - return score - -class KeywordRelevanceScorer(URLScorer): - __slots__ = ('_weight', '_stats', '_keywords', '_case_sensitive') - - def __init__(self, keywords: List[str], weight: float = 1.0, case_sensitive: bool = False): - super().__init__(weight=weight) - self._case_sensitive = case_sensitive - # Pre-process keywords once - self._keywords = [k if case_sensitive else k.lower() for k in keywords] - - @lru_cache(maxsize=10000) - def _url_bytes(self, url: str) -> bytes: - """Cache decoded URL bytes""" - return url.encode('utf-8') if self._case_sensitive else url.lower().encode('utf-8') - - - def _calculate_score(self, url: str) -> float: - """Fast string matching without regex or byte conversion""" - if not self._case_sensitive: - url = url.lower() - - matches = sum(1 for k in self._keywords if k in url) - - # Fast return paths - if not matches: - return 0.0 - if matches == len(self._keywords): - return 1.0 - - return matches / len(self._keywords) - -class PathDepthScorer(URLScorer): - __slots__ = ('_weight', '_stats', '_optimal_depth') # Remove _url_cache - - def __init__(self, optimal_depth: int = 3, weight: float = 1.0): - super().__init__(weight=weight) - self._optimal_depth = optimal_depth - - @staticmethod - @lru_cache(maxsize=10000) - def _quick_depth(path: str) -> int: - """Ultra fast path depth calculation. - - Examples: - - "http://example.com" -> 0 # No path segments - - "http://example.com/" -> 0 # Empty path - - "http://example.com/a" -> 1 - - "http://example.com/a/b" -> 2 - """ - if not path or path == '/': - return 0 - - if '/' not in path: - return 0 - - depth = 0 - last_was_slash = True - - for c in path: - if c == '/': - if not last_was_slash: - depth += 1 - last_was_slash = True - else: - last_was_slash = False - - if not last_was_slash: - depth += 1 - - return depth - - @lru_cache(maxsize=10000) # Cache the whole calculation - def _calculate_score(self, url: str) -> float: - pos = url.find('/', url.find('://') + 3) - if pos == -1: - depth = 0 - else: - depth = self._quick_depth(url[pos:]) - - # Use lookup table for common distances - distance = depth - self._optimal_depth - distance = distance if distance >= 0 else -distance # Faster than abs() - - if distance < 4: - return _SCORE_LOOKUP[distance] - - return 1.0 / (1.0 + distance) - -class ContentTypeScorer(URLScorer): - __slots__ = ('_weight', '_exact_types', '_regex_types') - - def __init__(self, type_weights: Dict[str, float], weight: float = 1.0): - """Initialize scorer with type weights map. - - Args: - type_weights: Dict mapping file extensions/patterns to scores (e.g. {'.html$': 1.0}) - weight: Overall weight multiplier for this scorer - """ - super().__init__(weight=weight) - self._exact_types = {} # Fast lookup for simple extensions - self._regex_types = [] # Fallback for complex patterns - - # Split into exact vs regex matchers for performance - for pattern, score in type_weights.items(): - if pattern.startswith('.') and pattern.endswith('$'): - ext = pattern[1:-1] - self._exact_types[ext] = score - else: - self._regex_types.append((re.compile(pattern), score)) - - # Sort complex patterns by score for early exit - self._regex_types.sort(key=lambda x: -x[1]) - - @staticmethod - @lru_cache(maxsize=10000) - def _quick_extension(url: str) -> str: - """Extract file extension ultra-fast without regex/splits. - - Handles: - - Basic extensions: "example.html" -> "html" - - Query strings: "page.php?id=1" -> "php" - - Fragments: "doc.pdf#page=1" -> "pdf" - - Path params: "file.jpg;width=100" -> "jpg" - - Args: - url: URL to extract extension from - - Returns: - Extension without dot, or empty string if none found - """ - pos = url.rfind('.') - if pos == -1: - return '' - - # Find first non-alphanumeric char after extension - end = len(url) - for i in range(pos + 1, len(url)): - c = url[i] - # Stop at query string, fragment, path param or any non-alphanumeric - if c in '?#;' or not c.isalnum(): - end = i - break - - return url[pos + 1:end].lower() - - @lru_cache(maxsize=10000) - def _calculate_score(self, url: str) -> float: - """Calculate content type score for URL. - - Uses staged approach: - 1. Try exact extension match (fast path) - 2. Fall back to regex patterns if needed - - Args: - url: URL to score - - Returns: - Score between 0.0 and 1.0 * weight - """ - # Fast path: direct extension lookup - ext = self._quick_extension(url) - if ext: - score = self._exact_types.get(ext, None) - if score is not None: - return score - - # Slow path: regex patterns - for pattern, score in self._regex_types: - if pattern.search(url): - return score - - return 0.0 - -class FreshnessScorer(URLScorer): - __slots__ = ('_weight', '_date_pattern', '_current_year') - - def __init__(self, weight: float = 1.0, current_year: int = 2024): - """Initialize freshness scorer. - - Extracts and scores dates from URLs using format: - - YYYY/MM/DD - - YYYY-MM-DD - - YYYY_MM_DD - - YYYY (year only) - - Args: - weight: Score multiplier - current_year: Year to calculate freshness against (default 2024) - """ - super().__init__(weight=weight) - self._current_year = current_year - - # Combined pattern for all date formats - # Uses non-capturing groups (?:) and alternation - self._date_pattern = re.compile( - r'(?:/' # Path separator - r'|[-_])' # or date separators - r'((?:19|20)\d{2})' # Year group (1900-2099) - r'(?:' # Optional month/day group - r'(?:/|[-_])' # Date separator - r'(?:\d{2})' # Month - r'(?:' # Optional day - r'(?:/|[-_])' # Date separator - r'(?:\d{2})' # Day - r')?' # Day is optional - r')?' # Month/day group is optional - ) - - @lru_cache(maxsize=10000) - def _extract_year(self, url: str) -> Optional[int]: - """Extract the most recent year from URL. - - Args: - url: URL to extract year from - - Returns: - Year as int or None if no valid year found - """ - matches = self._date_pattern.finditer(url) - latest_year = None - - # Find most recent year - for match in matches: - year = int(match.group(1)) - if (year <= self._current_year and # Sanity check - (latest_year is None or year > latest_year)): - latest_year = year - - return latest_year - - @lru_cache(maxsize=10000) - def _calculate_score(self, url: str) -> float: - """Calculate freshness score based on URL date. - - More recent years score higher. Uses pre-computed scoring - table for common year differences. - - Args: - url: URL to score - - Returns: - Score between 0.0 and 1.0 * weight - """ - year = self._extract_year(url) - if year is None: - return 0.5 # Default score - - # Use lookup table for common year differences - year_diff = self._current_year - year - if year_diff < len(_FRESHNESS_SCORES): - return _FRESHNESS_SCORES[year_diff] - - # Fallback calculation for older content - return max(0.1, 1.0 - year_diff * 0.1) - -class DomainAuthorityScorer(URLScorer): - __slots__ = ('_weight', '_domain_weights', '_default_weight', '_top_domains') - - def __init__( - self, - domain_weights: Dict[str, float], - default_weight: float = 0.5, - weight: float = 1.0, - ): - """Initialize domain authority scorer. - - Args: - domain_weights: Dict mapping domains to authority scores - default_weight: Score for unknown domains - weight: Overall scorer weight multiplier - - Example: - { - 'python.org': 1.0, - 'github.com': 0.9, - 'medium.com': 0.7 - } - """ - super().__init__(weight=weight) - - # Pre-process domains for faster lookup - self._domain_weights = { - domain.lower(): score - for domain, score in domain_weights.items() - } - self._default_weight = default_weight - - # Cache top domains for fast path - self._top_domains = { - domain: score - for domain, score in sorted( - domain_weights.items(), - key=lambda x: -x[1] - )[:5] # Keep top 5 highest scoring domains - } - - @staticmethod - @lru_cache(maxsize=10000) - def _extract_domain(url: str) -> str: - """Extract domain from URL ultra-fast. - - Handles: - - Basic domains: "example.com" - - Subdomains: "sub.example.com" - - Ports: "example.com:8080" - - IPv4: "192.168.1.1" - - Args: - url: Full URL to extract domain from - - Returns: - Lowercase domain without port - """ - # Find domain start - start = url.find('://') - if start == -1: - start = 0 - else: - start += 3 - - # Find domain end - end = url.find('/', start) - if end == -1: - end = url.find('?', start) - if end == -1: - end = url.find('#', start) - if end == -1: - end = len(url) - - # Extract domain and remove port - domain = url[start:end] - port_idx = domain.rfind(':') - if port_idx != -1: - domain = domain[:port_idx] - - return domain.lower() - - @lru_cache(maxsize=10000) - def _calculate_score(self, url: str) -> float: - """Calculate domain authority score. - - Uses staged approach: - 1. Check top domains (fastest) - 2. Check full domain weights - 3. Return default weight - - Args: - url: URL to score - - Returns: - Authority score between 0.0 and 1.0 * weight - """ - domain = self._extract_domain(url) - - # Fast path: check top domains first - score = self._top_domains.get(domain) - if score is not None: - return score - - # Regular path: check all domains - return self._domain_weights.get(domain, self._default_weight) -``` - - -## File: crawl4ai/deep_crawling/__init__.py - -```py -# deep_crawling/__init__.py -from .base_strategy import DeepCrawlDecorator, DeepCrawlStrategy -from .bfs_strategy import BFSDeepCrawlStrategy -from .bff_strategy import BestFirstCrawlingStrategy -from .dfs_strategy import DFSDeepCrawlStrategy -from .filters import ( - FilterChain, - ContentTypeFilter, - DomainFilter, - URLFilter, - URLPatternFilter, - FilterStats, - ContentRelevanceFilter, - SEOFilter -) -from .scorers import ( - KeywordRelevanceScorer, - URLScorer, - CompositeScorer, - DomainAuthorityScorer, - FreshnessScorer, - PathDepthScorer, - ContentTypeScorer -) - -__all__ = [ - "DeepCrawlDecorator", - "DeepCrawlStrategy", - "BFSDeepCrawlStrategy", - "BestFirstCrawlingStrategy", - "DFSDeepCrawlStrategy", - "FilterChain", - "ContentTypeFilter", - "DomainFilter", - "URLFilter", - "URLPatternFilter", - "FilterStats", - "ContentRelevanceFilter", - "SEOFilter", - "KeywordRelevanceScorer", - "URLScorer", - "CompositeScorer", - "DomainAuthorityScorer", - "FreshnessScorer", - "PathDepthScorer", - "ContentTypeScorer", -] - -``` - - -## File: crawl4ai/deep_crawling/base_strategy.py - -```py -from __future__ import annotations - -from abc import ABC, abstractmethod -from typing import AsyncGenerator, Optional, Set, List, Dict -from functools import wraps -from contextvars import ContextVar -from ..types import AsyncWebCrawler, CrawlerRunConfig, CrawlResult, RunManyReturn - - -class DeepCrawlDecorator: - """Decorator that adds deep crawling capability to arun method.""" - deep_crawl_active = ContextVar("deep_crawl_active", default=False) - - def __init__(self, crawler: AsyncWebCrawler): - self.crawler = crawler - - def __call__(self, original_arun): - @wraps(original_arun) - async def wrapped_arun(url: str, config: CrawlerRunConfig = None, **kwargs): - # If deep crawling is already active, call the original method to avoid recursion. - if config and config.deep_crawl_strategy and not self.deep_crawl_active.get(): - token = self.deep_crawl_active.set(True) - # Await the arun call to get the actual result object. - result_obj = await config.deep_crawl_strategy.arun( - crawler=self.crawler, - start_url=url, - config=config - ) - if config.stream: - async def result_wrapper(): - try: - async for result in result_obj: - yield result - finally: - self.deep_crawl_active.reset(token) - return result_wrapper() - else: - try: - return result_obj - finally: - self.deep_crawl_active.reset(token) - return await original_arun(url, config=config, **kwargs) - return wrapped_arun - -class DeepCrawlStrategy(ABC): - """ - Abstract base class for deep crawling strategies. - - Core functions: - - arun: Main entry point that returns an async generator of CrawlResults. - - shutdown: Clean up resources. - - can_process_url: Validate a URL and decide whether to process it. - - _process_links: Extract and process links from a CrawlResult. - """ - - @abstractmethod - async def _arun_batch( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> List[CrawlResult]: - """ - Batch (non-streaming) mode: - Processes one BFS level at a time, then yields all the results. - """ - pass - - @abstractmethod - async def _arun_stream( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Streaming mode: - Processes one BFS level at a time and yields results immediately as they arrive. - """ - pass - - async def arun( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: Optional[CrawlerRunConfig] = None, - ) -> RunManyReturn: - """ - Traverse the given URL using the specified crawler. - - Args: - start_url (str): The URL from which to start crawling. - crawler (AsyncWebCrawler): The crawler instance to use. - crawler_run_config (Optional[CrawlerRunConfig]): Crawler configuration. - - Returns: - Union[CrawlResultT, List[CrawlResultT], AsyncGenerator[CrawlResultT, None]] - """ - if config is None: - raise ValueError("CrawlerRunConfig must be provided") - - if config.stream: - return self._arun_stream(start_url, crawler, config) - else: - return await self._arun_batch(start_url, crawler, config) - - def __call__(self, start_url: str, crawler: AsyncWebCrawler, config: CrawlerRunConfig): - return self.arun(start_url, crawler, config) - - @abstractmethod - async def shutdown(self) -> None: - """ - Clean up resources used by the deep crawl strategy. - """ - pass - - @abstractmethod - async def can_process_url(self, url: str, depth: int) -> bool: - """ - Validate the URL format and apply custom filtering logic. - - Args: - url (str): The URL to validate. - depth (int): The current depth in the crawl. - - Returns: - bool: True if the URL should be processed, False otherwise. - """ - pass - - @abstractmethod - async def link_discovery( - self, - result: CrawlResult, - source_url: str, - current_depth: int, - visited: Set[str], - next_level: List[tuple], - depths: Dict[str, int], - ) -> None: - """ - Extract and process links from the given crawl result. - - This method should: - - Validate each extracted URL using can_process_url. - - Optionally score URLs. - - Append valid URLs (and their parent references) to the next_level list. - - Update the depths dictionary with the new depth for each URL. - - Args: - result (CrawlResult): The result from a crawl operation. - source_url (str): The URL from which this result was obtained. - current_depth (int): The depth at which the source URL was processed. - visited (Set[str]): Set of already visited URLs. - next_level (List[tuple]): List of tuples (url, parent_url) for the next BFS level. - depths (Dict[str, int]): Mapping of URLs to their current depth. - """ - pass - - -``` - - -## File: crawl4ai/deep_crawling/bff_strategy.py - -```py -# best_first_crawling_strategy.py -import asyncio -import logging -from datetime import datetime -from typing import AsyncGenerator, Optional, Set, Dict, List, Tuple -from urllib.parse import urlparse - -from ..models import TraversalStats -from .filters import FilterChain -from .scorers import URLScorer -from . import DeepCrawlStrategy - -from ..types import AsyncWebCrawler, CrawlerRunConfig, CrawlResult, RunManyReturn -from ..utils import normalize_url_for_deep_crawl - -from math import inf as infinity - -# Configurable batch size for processing items from the priority queue -BATCH_SIZE = 10 - - -class BestFirstCrawlingStrategy(DeepCrawlStrategy): - """ - Best-First Crawling Strategy using a priority queue. - - This strategy prioritizes URLs based on their score, ensuring that higher-value - pages are crawled first. It reimplements the core traversal loop to use a priority - queue while keeping URL validation and link discovery consistent with our design. - - Core methods: - - arun: Returns either a list (batch mode) or an async generator (stream mode). - - _arun_best_first: Core generator that uses a priority queue to yield CrawlResults. - - can_process_url: Validates URLs and applies filtering (inherited behavior). - - link_discovery: Extracts and validates links from a CrawlResult. - """ - def __init__( - self, - max_depth: int, - filter_chain: FilterChain = FilterChain(), - url_scorer: Optional[URLScorer] = None, - include_external: bool = False, - max_pages: int = infinity, - logger: Optional[logging.Logger] = None, - ): - self.max_depth = max_depth - self.filter_chain = filter_chain - self.url_scorer = url_scorer - self.include_external = include_external - self.max_pages = max_pages - self.logger = logger or logging.getLogger(__name__) - self.stats = TraversalStats(start_time=datetime.now()) - self._cancel_event = asyncio.Event() - self._pages_crawled = 0 - - async def can_process_url(self, url: str, depth: int) -> bool: - """ - Validate the URL format and apply filtering. - For the starting URL (depth 0), filtering is bypassed. - """ - try: - parsed = urlparse(url) - if not parsed.scheme or not parsed.netloc: - raise ValueError("Missing scheme or netloc") - if parsed.scheme not in ("http", "https"): - raise ValueError("Invalid scheme") - if "." not in parsed.netloc: - raise ValueError("Invalid domain") - except Exception as e: - self.logger.warning(f"Invalid URL: {url}, error: {e}") - return False - - if depth != 0 and not await self.filter_chain.apply(url): - return False - - return True - - async def link_discovery( - self, - result: CrawlResult, - source_url: str, - current_depth: int, - visited: Set[str], - next_links: List[Tuple[str, Optional[str]]], - depths: Dict[str, int], - ) -> None: - """ - Extract links from the crawl result, validate them, and append new URLs - (with their parent references) to next_links. - Also updates the depths dictionary. - """ - new_depth = current_depth + 1 - if new_depth > self.max_depth: - return - - # If we've reached the max pages limit, don't discover new links - remaining_capacity = self.max_pages - self._pages_crawled - if remaining_capacity <= 0: - self.logger.info(f"Max pages limit ({self.max_pages}) reached, stopping link discovery") - return - - # Retrieve internal links; include external links if enabled. - links = result.links.get("internal", []) - if self.include_external: - links += result.links.get("external", []) - - # If we have more links than remaining capacity, limit how many we'll process - valid_links = [] - for link in links: - url = link.get("href") - base_url = normalize_url_for_deep_crawl(url, source_url) - if base_url in visited: - continue - if not await self.can_process_url(url, new_depth): - self.stats.urls_skipped += 1 - continue - - valid_links.append(base_url) - - # If we have more valid links than capacity, limit them - if len(valid_links) > remaining_capacity: - valid_links = valid_links[:remaining_capacity] - self.logger.info(f"Limiting to {remaining_capacity} URLs due to max_pages limit") - - # Record the new depths and add to next_links - for url in valid_links: - depths[url] = new_depth - next_links.append((url, source_url)) - - async def _arun_best_first( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Core best-first crawl method using a priority queue. - - The queue items are tuples of (score, depth, url, parent_url). Lower scores - are treated as higher priority. URLs are processed in batches for efficiency. - """ - queue: asyncio.PriorityQueue = asyncio.PriorityQueue() - # Push the initial URL with score 0 and depth 0. - await queue.put((0, 0, start_url, None)) - visited: Set[str] = set() - depths: Dict[str, int] = {start_url: 0} - - while not queue.empty() and not self._cancel_event.is_set(): - # Stop if we've reached the max pages limit - if self._pages_crawled >= self.max_pages: - self.logger.info(f"Max pages limit ({self.max_pages}) reached, stopping crawl") - break - - batch: List[Tuple[float, int, str, Optional[str]]] = [] - # Retrieve up to BATCH_SIZE items from the priority queue. - for _ in range(BATCH_SIZE): - if queue.empty(): - break - item = await queue.get() - score, depth, url, parent_url = item - if url in visited: - continue - visited.add(url) - batch.append(item) - - if not batch: - continue - - # Process the current batch of URLs. - urls = [item[2] for item in batch] - batch_config = config.clone(deep_crawl_strategy=None, stream=True) - stream_gen = await crawler.arun_many(urls=urls, config=batch_config) - async for result in stream_gen: - result_url = result.url - # Find the corresponding tuple from the batch. - corresponding = next((item for item in batch if item[2] == result_url), None) - if not corresponding: - continue - score, depth, url, parent_url = corresponding - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - result.metadata["parent_url"] = parent_url - result.metadata["score"] = score - - # Count only successful crawls toward max_pages limit - if result.success: - self._pages_crawled += 1 - - yield result - - # Only discover links from successful crawls - if result.success: - # Discover new links from this result - new_links: List[Tuple[str, Optional[str]]] = [] - await self.link_discovery(result, result_url, depth, visited, new_links, depths) - - for new_url, new_parent in new_links: - new_depth = depths.get(new_url, depth + 1) - new_score = self.url_scorer.score(new_url) if self.url_scorer else 0 - await queue.put((new_score, new_depth, new_url, new_parent)) - - # End of crawl. - - async def _arun_batch( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> List[CrawlResult]: - """ - Best-first crawl in batch mode. - - Aggregates all CrawlResults into a list. - """ - results: List[CrawlResult] = [] - async for result in self._arun_best_first(start_url, crawler, config): - results.append(result) - return results - - async def _arun_stream( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Best-first crawl in streaming mode. - - Yields CrawlResults as they become available. - """ - async for result in self._arun_best_first(start_url, crawler, config): - yield result - - async def arun( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: Optional[CrawlerRunConfig] = None, - ) -> "RunManyReturn": - """ - Main entry point for best-first crawling. - - Returns either a list (batch mode) or an async generator (stream mode) - of CrawlResults. - """ - if config is None: - raise ValueError("CrawlerRunConfig must be provided") - if config.stream: - return self._arun_stream(start_url, crawler, config) - else: - return await self._arun_batch(start_url, crawler, config) - - async def shutdown(self) -> None: - """ - Signal cancellation and clean up resources. - """ - self._cancel_event.set() - self.stats.end_time = datetime.now() - -``` - - -## File: crawl4ai/deep_crawling/bfs_strategy.py - -```py -# bfs_deep_crawl_strategy.py -import asyncio -import logging -from datetime import datetime -from typing import AsyncGenerator, Optional, Set, Dict, List, Tuple -from urllib.parse import urlparse - -from ..models import TraversalStats -from .filters import FilterChain -from .scorers import URLScorer -from . import DeepCrawlStrategy -from ..types import AsyncWebCrawler, CrawlerRunConfig, CrawlResult -from ..utils import normalize_url_for_deep_crawl, efficient_normalize_url_for_deep_crawl -from math import inf as infinity - -class BFSDeepCrawlStrategy(DeepCrawlStrategy): - """ - Breadth-First Search deep crawling strategy. - - Core functions: - - arun: Main entry point; splits execution into batch or stream modes. - - link_discovery: Extracts, filters, and (if needed) scores the outgoing URLs. - - can_process_url: Validates URL format and applies the filter chain. - """ - def __init__( - self, - max_depth: int, - filter_chain: FilterChain = FilterChain(), - url_scorer: Optional[URLScorer] = None, - include_external: bool = False, - score_threshold: float = -infinity, - max_pages: int = infinity, - logger: Optional[logging.Logger] = None, - ): - self.max_depth = max_depth - self.filter_chain = filter_chain - self.url_scorer = url_scorer - self.include_external = include_external - self.score_threshold = score_threshold - self.max_pages = max_pages - self.logger = logger or logging.getLogger(__name__) - self.stats = TraversalStats(start_time=datetime.now()) - self._cancel_event = asyncio.Event() - self._pages_crawled = 0 - - async def can_process_url(self, url: str, depth: int) -> bool: - """ - Validates the URL and applies the filter chain. - For the start URL (depth 0) filtering is bypassed. - """ - try: - parsed = urlparse(url) - if not parsed.scheme or not parsed.netloc: - raise ValueError("Missing scheme or netloc") - if parsed.scheme not in ("http", "https"): - raise ValueError("Invalid scheme") - if "." not in parsed.netloc: - raise ValueError("Invalid domain") - except Exception as e: - self.logger.warning(f"Invalid URL: {url}, error: {e}") - return False - - if depth != 0 and not await self.filter_chain.apply(url): - return False - - return True - - async def link_discovery( - self, - result: CrawlResult, - source_url: str, - current_depth: int, - visited: Set[str], - next_level: List[Tuple[str, Optional[str]]], - depths: Dict[str, int], - ) -> None: - """ - Extracts links from the crawl result, validates and scores them, and - prepares the next level of URLs. - Each valid URL is appended to next_level as a tuple (url, parent_url) - and its depth is tracked. - """ - next_depth = current_depth + 1 - if next_depth > self.max_depth: - return - - # If we've reached the max pages limit, don't discover new links - remaining_capacity = self.max_pages - self._pages_crawled - if remaining_capacity <= 0: - self.logger.info(f"Max pages limit ({self.max_pages}) reached, stopping link discovery") - return - - # Get internal links and, if enabled, external links. - links = result.links.get("internal", []) - if self.include_external: - links += result.links.get("external", []) - - valid_links = [] - - # First collect all valid links - for link in links: - url = link.get("href") - # Strip URL fragments to avoid duplicate crawling - # base_url = url.split('#')[0] if url else url - base_url = normalize_url_for_deep_crawl(url, source_url) - if base_url in visited: - continue - if not await self.can_process_url(url, next_depth): - self.stats.urls_skipped += 1 - continue - - # Score the URL if a scorer is provided - score = self.url_scorer.score(base_url) if self.url_scorer else 0 - - # Skip URLs with scores below the threshold - if score < self.score_threshold: - self.logger.debug(f"URL {url} skipped: score {score} below threshold {self.score_threshold}") - self.stats.urls_skipped += 1 - continue - - visited.add(base_url) - valid_links.append((base_url, score)) - - # If we have more valid links than capacity, sort by score and take the top ones - if len(valid_links) > remaining_capacity: - if self.url_scorer: - # Sort by score in descending order - valid_links.sort(key=lambda x: x[1], reverse=True) - # Take only as many as we have capacity for - valid_links = valid_links[:remaining_capacity] - self.logger.info(f"Limiting to {remaining_capacity} URLs due to max_pages limit") - - # Process the final selected links - for url, score in valid_links: - # attach the score to metadata if needed - if score: - result.metadata = result.metadata or {} - result.metadata["score"] = score - next_level.append((url, source_url)) - depths[url] = next_depth - - async def _arun_batch( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> List[CrawlResult]: - """ - Batch (non-streaming) mode: - Processes one BFS level at a time, then yields all the results. - """ - visited: Set[str] = set() - # current_level holds tuples: (url, parent_url) - current_level: List[Tuple[str, Optional[str]]] = [(start_url, None)] - depths: Dict[str, int] = {start_url: 0} - - results: List[CrawlResult] = [] - - while current_level and not self._cancel_event.is_set(): - next_level: List[Tuple[str, Optional[str]]] = [] - urls = [url for url, _ in current_level] - - # Clone the config to disable deep crawling recursion and enforce batch mode. - batch_config = config.clone(deep_crawl_strategy=None, stream=False) - batch_results = await crawler.arun_many(urls=urls, config=batch_config) - - # Update pages crawled counter - count only successful crawls - successful_results = [r for r in batch_results if r.success] - self._pages_crawled += len(successful_results) - - for result in batch_results: - url = result.url - depth = depths.get(url, 0) - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - parent_url = next((parent for (u, parent) in current_level if u == url), None) - result.metadata["parent_url"] = parent_url - results.append(result) - - # Only discover links from successful crawls - if result.success: - # Link discovery will handle the max pages limit internally - await self.link_discovery(result, url, depth, visited, next_level, depths) - - current_level = next_level - - return results - - async def _arun_stream( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Streaming mode: - Processes one BFS level at a time and yields results immediately as they arrive. - """ - visited: Set[str] = set() - current_level: List[Tuple[str, Optional[str]]] = [(start_url, None)] - depths: Dict[str, int] = {start_url: 0} - - while current_level and not self._cancel_event.is_set(): - next_level: List[Tuple[str, Optional[str]]] = [] - urls = [url for url, _ in current_level] - visited.update(urls) - - stream_config = config.clone(deep_crawl_strategy=None, stream=True) - stream_gen = await crawler.arun_many(urls=urls, config=stream_config) - - # Keep track of processed results for this batch - results_count = 0 - async for result in stream_gen: - url = result.url - depth = depths.get(url, 0) - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - parent_url = next((parent for (u, parent) in current_level if u == url), None) - result.metadata["parent_url"] = parent_url - - # Count only successful crawls - if result.success: - self._pages_crawled += 1 - - results_count += 1 - yield result - - # Only discover links from successful crawls - if result.success: - # Link discovery will handle the max pages limit internally - await self.link_discovery(result, url, depth, visited, next_level, depths) - - # If we didn't get results back (e.g. due to errors), avoid getting stuck in an infinite loop - # by considering these URLs as visited but not counting them toward the max_pages limit - if results_count == 0 and urls: - self.logger.warning(f"No results returned for {len(urls)} URLs, marking as visited") - - current_level = next_level - - async def shutdown(self) -> None: - """ - Clean up resources and signal cancellation of the crawl. - """ - self._cancel_event.set() - self.stats.end_time = datetime.now() - -``` - - -## File: crawl4ai/deep_crawling/filters.py - -```py -from abc import ABC, abstractmethod -from typing import List, Pattern, Set, Union -from urllib.parse import urlparse -from array import array -import re -import logging -from functools import lru_cache -import fnmatch -from dataclasses import dataclass -import weakref -import math -from collections import defaultdict -from typing import Dict -from ..utils import HeadPeekr -import asyncio -import inspect - - -@dataclass -class FilterStats: - __slots__ = ("_counters",) - - def __init__(self): - # Use array of unsigned ints for atomic operations - self._counters = array("I", [0, 0, 0]) # total, passed, rejected - - @property - def total_urls(self): - return self._counters[0] - - @property - def passed_urls(self): - return self._counters[1] - - @property - def rejected_urls(self): - return self._counters[2] - - -class URLFilter(ABC): - """Optimized base filter class""" - - __slots__ = ("name", "stats", "_logger_ref") - - def __init__(self, name: str = None): - self.name = name or self.__class__.__name__ - self.stats = FilterStats() - # Lazy logger initialization using weakref - self._logger_ref = None - - @property - def logger(self): - if self._logger_ref is None or self._logger_ref() is None: - logger = logging.getLogger(f"urlfilter.{self.name}") - self._logger_ref = weakref.ref(logger) - return self._logger_ref() - - @abstractmethod - def apply(self, url: str) -> bool: - pass - - def _update_stats(self, passed: bool): - # Use direct array index for speed - self.stats._counters[0] += 1 # total - self.stats._counters[1] += passed # passed - self.stats._counters[2] += not passed # rejected - - -class FilterChain: - """Optimized filter chain""" - - __slots__ = ("filters", "stats", "_logger_ref") - - def __init__(self, filters: List[URLFilter] = None): - self.filters = tuple(filters or []) # Immutable tuple for speed - self.stats = FilterStats() - self._logger_ref = None - - @property - def logger(self): - if self._logger_ref is None or self._logger_ref() is None: - logger = logging.getLogger("urlfilter.chain") - self._logger_ref = weakref.ref(logger) - return self._logger_ref() - - def add_filter(self, filter_: URLFilter) -> "FilterChain": - """Add a filter to the chain""" - self.filters.append(filter_) - return self # Enable method chaining - - async def apply(self, url: str) -> bool: - """Apply all filters concurrently when possible""" - self.stats._counters[0] += 1 # Total processed URLs - - tasks = [] - for f in self.filters: - result = f.apply(url) - - if inspect.isawaitable(result): - tasks.append(result) # Collect async tasks - elif not result: # Sync rejection - self.stats._counters[2] += 1 # Sync rejected - return False - - if tasks: - results = await asyncio.gather(*tasks) - - # Count how many filters rejected - rejections = results.count(False) - self.stats._counters[2] += rejections - - if not all(results): - return False # Stop early if any filter rejected - - self.stats._counters[1] += 1 # Passed - return True - - -class URLPatternFilter(URLFilter): - """Pattern filter balancing speed and completeness""" - - __slots__ = ( - "_simple_suffixes", - "_simple_prefixes", - "_domain_patterns", - "_path_patterns", - "_reverse", - ) - - PATTERN_TYPES = { - "SUFFIX": 1, # *.html - "PREFIX": 2, # /foo/* - "DOMAIN": 3, # *.example.com - "PATH": 4, # Everything else - "REGEX": 5, - } - - def __init__( - self, - patterns: Union[str, Pattern, List[Union[str, Pattern]]], - use_glob: bool = True, - reverse: bool = False, - ): - super().__init__() - self._reverse = reverse - patterns = [patterns] if isinstance(patterns, (str, Pattern)) else patterns - - self._simple_suffixes = set() - self._simple_prefixes = set() - self._domain_patterns = [] - self._path_patterns = [] - - for pattern in patterns: - pattern_type = self._categorize_pattern(pattern) - self._add_pattern(pattern, pattern_type) - - def _categorize_pattern(self, pattern: str) -> int: - """Categorize pattern for specialized handling""" - if not isinstance(pattern, str): - return self.PATTERN_TYPES["PATH"] - - # Check if it's a regex pattern - if pattern.startswith("^") or pattern.endswith("$") or "\\d" in pattern: - return self.PATTERN_TYPES["REGEX"] - - if pattern.count("*") == 1: - if pattern.startswith("*."): - return self.PATTERN_TYPES["SUFFIX"] - if pattern.endswith("/*"): - return self.PATTERN_TYPES["PREFIX"] - - if "://" in pattern and pattern.startswith("*."): - return self.PATTERN_TYPES["DOMAIN"] - - return self.PATTERN_TYPES["PATH"] - - def _add_pattern(self, pattern: str, pattern_type: int): - """Add pattern to appropriate matcher""" - if pattern_type == self.PATTERN_TYPES["REGEX"]: - # For regex patterns, compile directly without glob translation - if isinstance(pattern, str) and ( - pattern.startswith("^") or pattern.endswith("$") or "\\d" in pattern - ): - self._path_patterns.append(re.compile(pattern)) - return - elif pattern_type == self.PATTERN_TYPES["SUFFIX"]: - self._simple_suffixes.add(pattern[2:]) - elif pattern_type == self.PATTERN_TYPES["PREFIX"]: - self._simple_prefixes.add(pattern[:-2]) - elif pattern_type == self.PATTERN_TYPES["DOMAIN"]: - self._domain_patterns.append(re.compile(pattern.replace("*.", r"[^/]+\."))) - else: - if isinstance(pattern, str): - # Handle complex glob patterns - if "**" in pattern: - pattern = pattern.replace("**", ".*") - if "{" in pattern: - # Convert {a,b} to (a|b) - pattern = re.sub( - r"\{([^}]+)\}", - lambda m: f'({"|".join(m.group(1).split(","))})', - pattern, - ) - pattern = fnmatch.translate(pattern) - self._path_patterns.append( - pattern if isinstance(pattern, Pattern) else re.compile(pattern) - ) - - @lru_cache(maxsize=10000) - def apply(self, url: str) -> bool: - # Quick suffix check (*.html) - if self._simple_suffixes: - path = url.split("?")[0] - if path.split("/")[-1].split(".")[-1] in self._simple_suffixes: - result = True - self._update_stats(result) - return not result if self._reverse else result - - # Domain check - if self._domain_patterns: - for pattern in self._domain_patterns: - if pattern.match(url): - result = True - self._update_stats(result) - return not result if self._reverse else result - - # Prefix check (/foo/*) - if self._simple_prefixes: - path = url.split("?")[0] - if any(path.startswith(p) for p in self._simple_prefixes): - result = True - self._update_stats(result) - return not result if self._reverse else result - - # Complex patterns - if self._path_patterns: - if any(p.search(url) for p in self._path_patterns): - result = True - self._update_stats(result) - return not result if self._reverse else result - - result = False - self._update_stats(result) - return not result if self._reverse else result - - -class ContentTypeFilter(URLFilter): - """Optimized content type filter using fast lookups""" - - __slots__ = ("allowed_types", "_ext_map", "_check_extension") - - # Fast extension to mime type mapping - _MIME_MAP = { - # Text Formats - "txt": "text/plain", - "html": "text/html", - "htm": "text/html", - "xhtml": "application/xhtml+xml", - "css": "text/css", - "csv": "text/csv", - "ics": "text/calendar", - "js": "application/javascript", - # Images - "bmp": "image/bmp", - "gif": "image/gif", - "jpeg": "image/jpeg", - "jpg": "image/jpeg", - "png": "image/png", - "svg": "image/svg+xml", - "tiff": "image/tiff", - "ico": "image/x-icon", - "webp": "image/webp", - # Audio - "mp3": "audio/mpeg", - "wav": "audio/wav", - "ogg": "audio/ogg", - "m4a": "audio/mp4", - "aac": "audio/aac", - # Video - "mp4": "video/mp4", - "mpeg": "video/mpeg", - "webm": "video/webm", - "avi": "video/x-msvideo", - "mov": "video/quicktime", - "flv": "video/x-flv", - "wmv": "video/x-ms-wmv", - "mkv": "video/x-matroska", - # Applications - "json": "application/json", - "xml": "application/xml", - "pdf": "application/pdf", - "zip": "application/zip", - "gz": "application/gzip", - "tar": "application/x-tar", - "rar": "application/vnd.rar", - "7z": "application/x-7z-compressed", - "exe": "application/vnd.microsoft.portable-executable", - "msi": "application/x-msdownload", - # Fonts - "woff": "font/woff", - "woff2": "font/woff2", - "ttf": "font/ttf", - "otf": "font/otf", - # Microsoft Office - "doc": "application/msword", - "dot": "application/msword", - "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", - "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - "xls": "application/vnd.ms-excel", - "ppt": "application/vnd.ms-powerpoint", - "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation", - # OpenDocument Formats - "odt": "application/vnd.oasis.opendocument.text", - "ods": "application/vnd.oasis.opendocument.spreadsheet", - "odp": "application/vnd.oasis.opendocument.presentation", - # Archives - "tar.gz": "application/gzip", - "tgz": "application/gzip", - "bz2": "application/x-bzip2", - # Others - "rtf": "application/rtf", - "apk": "application/vnd.android.package-archive", - "epub": "application/epub+zip", - "jar": "application/java-archive", - "swf": "application/x-shockwave-flash", - "midi": "audio/midi", - "mid": "audio/midi", - "ps": "application/postscript", - "ai": "application/postscript", - "eps": "application/postscript", - # Custom or less common - "bin": "application/octet-stream", - "dmg": "application/x-apple-diskimage", - "iso": "application/x-iso9660-image", - "deb": "application/x-debian-package", - "rpm": "application/x-rpm", - "sqlite": "application/vnd.sqlite3", - # Placeholder - "unknown": "application/octet-stream", # Fallback for unknown file types - } - - @staticmethod - @lru_cache(maxsize=1000) - def _extract_extension(url: str) -> str: - """Extracts file extension from a URL.""" - # Remove scheme (http://, https://) if present - if "://" in url: - url = url.split("://", 1)[-1] # Get everything after '://' - - # Remove domain (everything up to the first '/') - path_start = url.find("/") - path = url[path_start:] if path_start != -1 else "" - - # Extract last filename in path - filename = path.rsplit("/", 1)[-1] if "/" in path else "" - - # Extract and validate extension - if "." not in filename: - return "" - - return filename.rpartition(".")[-1].lower() - - def __init__( - self, - allowed_types: Union[str, List[str]], - check_extension: bool = True, - ext_map: Dict[str, str] = _MIME_MAP, - ): - super().__init__() - # Normalize and store as frozenset for fast lookup - self.allowed_types = frozenset( - t.lower() - for t in ( - allowed_types if isinstance(allowed_types, list) else [allowed_types] - ) - ) - self._check_extension = check_extension - - # Pre-compute extension map for allowed types - self._ext_map = frozenset( - ext - for ext, mime in self._MIME_MAP.items() - if any(allowed in mime for allowed in self.allowed_types) - ) - - @lru_cache(maxsize=1000) - def _check_url_cached(self, url: str) -> bool: - """Cached URL checking""" - if not self._check_extension: - return True - ext = self._extract_extension(url) - if not ext: - return True - - return ext in self._ext_map - - def apply(self, url: str) -> bool: - """Fast extension check with caching""" - result = self._check_url_cached(url) - self._update_stats(result) - return result - - -class DomainFilter(URLFilter): - """Optimized domain filter with fast lookups and caching""" - - __slots__ = ("_allowed_domains", "_blocked_domains", "_domain_cache") - - # Regex for fast domain extraction - _DOMAIN_REGEX = re.compile(r"://([^/]+)") - - def __init__( - self, - allowed_domains: Union[str, List[str]] = None, - blocked_domains: Union[str, List[str]] = None, - ): - super().__init__() - - # Convert inputs to frozensets for immutable, fast lookups - self._allowed_domains = ( - frozenset(self._normalize_domains(allowed_domains)) - if allowed_domains - else None - ) - self._blocked_domains = ( - frozenset(self._normalize_domains(blocked_domains)) - if blocked_domains - else frozenset() - ) - - @staticmethod - def _normalize_domains(domains: Union[str, List[str]]) -> Set[str]: - """Fast domain normalization""" - if isinstance(domains, str): - return {domains.lower()} - return {d.lower() for d in domains} - - @staticmethod - def _is_subdomain(domain: str, parent_domain: str) -> bool: - """Check if domain is a subdomain of parent_domain""" - return domain == parent_domain or domain.endswith(f".{parent_domain}") - - @staticmethod - @lru_cache(maxsize=10000) - def _extract_domain(url: str) -> str: - """Ultra-fast domain extraction with regex and caching""" - match = DomainFilter._DOMAIN_REGEX.search(url) - return match.group(1).lower() if match else "" - - def apply(self, url: str) -> bool: - """Optimized domain checking with early returns""" - # Skip processing if no filters - if not self._blocked_domains and self._allowed_domains is None: - self._update_stats(True) - return True - - domain = self._extract_domain(url) - - # Check for blocked domains, including subdomains - for blocked in self._blocked_domains: - if self._is_subdomain(domain, blocked): - self._update_stats(False) - return False - - # If no allowed domains specified, accept all non-blocked - if self._allowed_domains is None: - self._update_stats(True) - return True - - # Check if domain matches any allowed domain (including subdomains) - for allowed in self._allowed_domains: - if self._is_subdomain(domain, allowed): - self._update_stats(True) - return True - - # No matches found - self._update_stats(False) - return False - - -class ContentRelevanceFilter(URLFilter): - """BM25-based relevance filter using head section content""" - - __slots__ = ("query_terms", "threshold", "k1", "b", "avgdl") - - def __init__( - self, - query: str, - threshold: float, - k1: float = 1.2, - b: float = 0.75, - avgdl: int = 1000, - ): - super().__init__(name="BM25RelevanceFilter") - self.query_terms = self._tokenize(query) - self.threshold = threshold - self.k1 = k1 # TF saturation parameter - self.b = b # Length normalization parameter - self.avgdl = avgdl # Average document length (empirical value) - - async def apply(self, url: str) -> bool: - head_content = await HeadPeekr.peek_html(url) - if not head_content: - self._update_stats(False) - return False - - # Field extraction with weighting - fields = { - "title": HeadPeekr.get_title(head_content) or "", - "meta": HeadPeekr.extract_meta_tags(head_content), - } - doc_text = self._build_document(fields) - - score = self._bm25(doc_text) - decision = score >= self.threshold - self._update_stats(decision) - return decision - - def _build_document(self, fields: Dict) -> str: - """Weighted document construction""" - return " ".join( - [ - fields["title"] * 3, # Title weight - fields["meta"].get("description", "") * 2, - fields["meta"].get("keywords", ""), - " ".join(fields["meta"].values()), - ] - ) - - def _tokenize(self, text: str) -> List[str]: - """Fast case-insensitive tokenization""" - return text.lower().split() - - def _bm25(self, document: str) -> float: - """Optimized BM25 implementation for head sections""" - doc_terms = self._tokenize(document) - doc_len = len(doc_terms) - tf = defaultdict(int) - - for term in doc_terms: - tf[term] += 1 - - score = 0.0 - for term in set(self.query_terms): - term_freq = tf[term] - idf = math.log((1 + 1) / (term_freq + 0.5) + 1) # Simplified IDF - numerator = term_freq * (self.k1 + 1) - denominator = term_freq + self.k1 * ( - 1 - self.b + self.b * (doc_len / self.avgdl) - ) - score += idf * (numerator / denominator) - - return score - - -class SEOFilter(URLFilter): - """Quantitative SEO quality assessment filter using head section analysis""" - - __slots__ = ("threshold", "_weights", "_kw_patterns") - - # Based on SEMrush/Google ranking factors research - DEFAULT_WEIGHTS = { - "title_length": 0.15, - "title_kw": 0.18, - "meta_description": 0.12, - "canonical": 0.10, - "robot_ok": 0.20, # Most critical factor - "schema_org": 0.10, - "url_quality": 0.15, - } - - def __init__( - self, - threshold: float = 0.65, - keywords: List[str] = None, - weights: Dict[str, float] = None, - ): - super().__init__(name="SEOFilter") - self.threshold = threshold - self._weights = weights or self.DEFAULT_WEIGHTS - self._kw_patterns = ( - re.compile( - r"\b({})\b".format("|".join(map(re.escape, keywords or []))), re.I - ) - if keywords - else None - ) - - async def apply(self, url: str) -> bool: - head_content = await HeadPeekr.peek_html(url) - if not head_content: - self._update_stats(False) - return False - - meta = HeadPeekr.extract_meta_tags(head_content) - title = HeadPeekr.get_title(head_content) or "" - parsed_url = urlparse(url) - - scores = { - "title_length": self._score_title_length(title), - "title_kw": self._score_keyword_presence(title), - "meta_description": self._score_meta_description( - meta.get("description", "") - ), - "canonical": self._score_canonical(meta.get("canonical"), url), - "robot_ok": 1.0 if "noindex" not in meta.get("robots", "") else 0.0, - "schema_org": self._score_schema_org(head_content), - "url_quality": self._score_url_quality(parsed_url), - } - - total_score = sum( - weight * scores[factor] for factor, weight in self._weights.items() - ) - - decision = total_score >= self.threshold - self._update_stats(decision) - return decision - - def _score_title_length(self, title: str) -> float: - length = len(title) - if 50 <= length <= 60: - return 1.0 - if 40 <= length < 50 or 60 < length <= 70: - return 0.7 - return 0.3 # Poor length - - def _score_keyword_presence(self, text: str) -> float: - if not self._kw_patterns: - return 0.0 - matches = len(self._kw_patterns.findall(text)) - return min(matches * 0.3, 1.0) # Max 3 matches - - def _score_meta_description(self, desc: str) -> float: - length = len(desc) - if 140 <= length <= 160: - return 1.0 - return 0.5 if 120 <= length <= 200 else 0.2 - - def _score_canonical(self, canonical: str, original: str) -> float: - if not canonical: - return 0.5 # Neutral score - return 1.0 if canonical == original else 0.2 - - def _score_schema_org(self, html: str) -> float: - # Detect any schema.org markup in head - return ( - 1.0 - if re.search(r']+type=["\']application/ld\+json', html) - else 0.0 - ) - - def _score_url_quality(self, parsed_url) -> float: - score = 1.0 - path = parsed_url.path.lower() - - # Penalty factors - if len(path) > 80: - score *= 0.7 - if re.search(r"\d{4}", path): - score *= 0.8 # Numbers in path - if parsed_url.query: - score *= 0.6 # URL parameters - if "_" in path: - score *= 0.9 # Underscores vs hyphens - - return score - -``` - - -## File: crawl4ai/deep_crawling/scorers.py - -```py -from abc import ABC, abstractmethod -from typing import List, Dict, Optional -from dataclasses import dataclass -from urllib.parse import urlparse, unquote -import re -import logging -from functools import lru_cache -from array import array -import ctypes -import platform -PLATFORM = platform.system() - -# Pre-computed scores for common year differences -_SCORE_LOOKUP = [1.0, 0.5, 0.3333333333333333, 0.25] - -# Pre-computed scores for common year differences -_FRESHNESS_SCORES = [ - 1.0, # Current year - 0.9, # Last year - 0.8, # 2 years ago - 0.7, # 3 years ago - 0.6, # 4 years ago - 0.5, # 5 years ago -] - -class ScoringStats: - __slots__ = ('_urls_scored', '_total_score', '_min_score', '_max_score') - - def __init__(self): - self._urls_scored = 0 - self._total_score = 0.0 - self._min_score = None # Lazy initialization - self._max_score = None - - def update(self, score: float) -> None: - """Optimized update with minimal operations""" - self._urls_scored += 1 - self._total_score += score - - # Lazy min/max tracking - only if actually accessed - if self._min_score is not None: - if score < self._min_score: - self._min_score = score - if self._max_score is not None: - if score > self._max_score: - self._max_score = score - - def get_average(self) -> float: - """Direct calculation instead of property""" - return self._total_score / self._urls_scored if self._urls_scored else 0.0 - - def get_min(self) -> float: - """Lazy min calculation""" - if self._min_score is None: - self._min_score = self._total_score / self._urls_scored if self._urls_scored else 0.0 - return self._min_score - - def get_max(self) -> float: - """Lazy max calculation""" - if self._max_score is None: - self._max_score = self._total_score / self._urls_scored if self._urls_scored else 0.0 - return self._max_score -class URLScorer(ABC): - __slots__ = ('_weight', '_stats') - - def __init__(self, weight: float = 1.0): - # Store weight directly as float32 for memory efficiency - self._weight = ctypes.c_float(weight).value - self._stats = ScoringStats() - - @abstractmethod - def _calculate_score(self, url: str) -> float: - """Calculate raw score for URL.""" - pass - - def score(self, url: str) -> float: - """Calculate weighted score with minimal overhead.""" - score = self._calculate_score(url) * self._weight - self._stats.update(score) - return score - - @property - def stats(self): - """Access to scoring statistics.""" - return self._stats - - @property - def weight(self): - return self._weight - -class CompositeScorer(URLScorer): - __slots__ = ('_scorers', '_normalize', '_weights_array', '_score_array') - - def __init__(self, scorers: List[URLScorer], normalize: bool = True): - """Initialize composite scorer combining multiple scoring strategies. - - Optimized for: - - Fast parallel scoring - - Memory efficient score aggregation - - Quick short-circuit conditions - - Pre-allocated arrays - - Args: - scorers: List of scoring strategies to combine - normalize: Whether to normalize final score by scorer count - """ - super().__init__(weight=1.0) - self._scorers = scorers - self._normalize = normalize - - # Pre-allocate arrays for scores and weights - self._weights_array = array('f', [s.weight for s in scorers]) - self._score_array = array('f', [0.0] * len(scorers)) - - @lru_cache(maxsize=10000) - def _calculate_score(self, url: str) -> float: - """Calculate combined score from all scoring strategies. - - Uses: - 1. Pre-allocated arrays for scores - 2. Short-circuit on zero scores - 3. Optimized normalization - 4. Vectorized operations where possible - - Args: - url: URL to score - - Returns: - Combined and optionally normalized score - """ - total_score = 0.0 - scores = self._score_array - - # Get scores from all scorers - for i, scorer in enumerate(self._scorers): - # Use public score() method which applies weight - scores[i] = scorer.score(url) - total_score += scores[i] - - # Normalize if requested - if self._normalize and self._scorers: - count = len(self._scorers) - return total_score / count - - return total_score - - def score(self, url: str) -> float: - """Public scoring interface with stats tracking. - - Args: - url: URL to score - - Returns: - Final combined score - """ - score = self._calculate_score(url) - self.stats.update(score) - return score - -class KeywordRelevanceScorer(URLScorer): - __slots__ = ('_weight', '_stats', '_keywords', '_case_sensitive') - - def __init__(self, keywords: List[str], weight: float = 1.0, case_sensitive: bool = False): - super().__init__(weight=weight) - self._case_sensitive = case_sensitive - # Pre-process keywords once - self._keywords = [k if case_sensitive else k.lower() for k in keywords] - - @lru_cache(maxsize=10000) - def _url_bytes(self, url: str) -> bytes: - """Cache decoded URL bytes""" - return url.encode('utf-8') if self._case_sensitive else url.lower().encode('utf-8') - - - def _calculate_score(self, url: str) -> float: - """Fast string matching without regex or byte conversion""" - if not self._case_sensitive: - url = url.lower() - - matches = sum(1 for k in self._keywords if k in url) - - # Fast return paths - if not matches: - return 0.0 - if matches == len(self._keywords): - return 1.0 - - return matches / len(self._keywords) - -class PathDepthScorer(URLScorer): - __slots__ = ('_weight', '_stats', '_optimal_depth') # Remove _url_cache - - def __init__(self, optimal_depth: int = 3, weight: float = 1.0): - super().__init__(weight=weight) - self._optimal_depth = optimal_depth - - @staticmethod - @lru_cache(maxsize=10000) - def _quick_depth(path: str) -> int: - """Ultra fast path depth calculation. - - Examples: - - "http://example.com" -> 0 # No path segments - - "http://example.com/" -> 0 # Empty path - - "http://example.com/a" -> 1 - - "http://example.com/a/b" -> 2 - """ - if not path or path == '/': - return 0 - - if '/' not in path: - return 0 - - depth = 0 - last_was_slash = True - - for c in path: - if c == '/': - if not last_was_slash: - depth += 1 - last_was_slash = True - else: - last_was_slash = False - - if not last_was_slash: - depth += 1 - - return depth - - @lru_cache(maxsize=10000) # Cache the whole calculation - def _calculate_score(self, url: str) -> float: - pos = url.find('/', url.find('://') + 3) - if pos == -1: - depth = 0 - else: - depth = self._quick_depth(url[pos:]) - - # Use lookup table for common distances - distance = depth - self._optimal_depth - distance = distance if distance >= 0 else -distance # Faster than abs() - - if distance < 4: - return _SCORE_LOOKUP[distance] - - return 1.0 / (1.0 + distance) - -class ContentTypeScorer(URLScorer): - __slots__ = ('_weight', '_exact_types', '_regex_types') - - def __init__(self, type_weights: Dict[str, float], weight: float = 1.0): - """Initialize scorer with type weights map. - - Args: - type_weights: Dict mapping file extensions/patterns to scores (e.g. {'.html$': 1.0}) - weight: Overall weight multiplier for this scorer - """ - super().__init__(weight=weight) - self._exact_types = {} # Fast lookup for simple extensions - self._regex_types = [] # Fallback for complex patterns - - # Split into exact vs regex matchers for performance - for pattern, score in type_weights.items(): - if pattern.startswith('.') and pattern.endswith('$'): - ext = pattern[1:-1] - self._exact_types[ext] = score - else: - self._regex_types.append((re.compile(pattern), score)) - - # Sort complex patterns by score for early exit - self._regex_types.sort(key=lambda x: -x[1]) - - @staticmethod - @lru_cache(maxsize=10000) - def _quick_extension(url: str) -> str: - """Extract file extension ultra-fast without regex/splits. - - Handles: - - Basic extensions: "example.html" -> "html" - - Query strings: "page.php?id=1" -> "php" - - Fragments: "doc.pdf#page=1" -> "pdf" - - Path params: "file.jpg;width=100" -> "jpg" - - Args: - url: URL to extract extension from - - Returns: - Extension without dot, or empty string if none found - """ - pos = url.rfind('.') - if pos == -1: - return '' - - # Find first non-alphanumeric char after extension - end = len(url) - for i in range(pos + 1, len(url)): - c = url[i] - # Stop at query string, fragment, path param or any non-alphanumeric - if c in '?#;' or not c.isalnum(): - end = i - break - - return url[pos + 1:end].lower() - - @lru_cache(maxsize=10000) - def _calculate_score(self, url: str) -> float: - """Calculate content type score for URL. - - Uses staged approach: - 1. Try exact extension match (fast path) - 2. Fall back to regex patterns if needed - - Args: - url: URL to score - - Returns: - Score between 0.0 and 1.0 * weight - """ - # Fast path: direct extension lookup - ext = self._quick_extension(url) - if ext: - score = self._exact_types.get(ext, None) - if score is not None: - return score - - # Slow path: regex patterns - for pattern, score in self._regex_types: - if pattern.search(url): - return score - - return 0.0 - -class FreshnessScorer(URLScorer): - __slots__ = ('_weight', '_date_pattern', '_current_year') - - def __init__(self, weight: float = 1.0, current_year: int = 2024): - """Initialize freshness scorer. - - Extracts and scores dates from URLs using format: - - YYYY/MM/DD - - YYYY-MM-DD - - YYYY_MM_DD - - YYYY (year only) - - Args: - weight: Score multiplier - current_year: Year to calculate freshness against (default 2024) - """ - super().__init__(weight=weight) - self._current_year = current_year - - # Combined pattern for all date formats - # Uses non-capturing groups (?:) and alternation - self._date_pattern = re.compile( - r'(?:/' # Path separator - r'|[-_])' # or date separators - r'((?:19|20)\d{2})' # Year group (1900-2099) - r'(?:' # Optional month/day group - r'(?:/|[-_])' # Date separator - r'(?:\d{2})' # Month - r'(?:' # Optional day - r'(?:/|[-_])' # Date separator - r'(?:\d{2})' # Day - r')?' # Day is optional - r')?' # Month/day group is optional - ) - - @lru_cache(maxsize=10000) - def _extract_year(self, url: str) -> Optional[int]: - """Extract the most recent year from URL. - - Args: - url: URL to extract year from - - Returns: - Year as int or None if no valid year found - """ - matches = self._date_pattern.finditer(url) - latest_year = None - - # Find most recent year - for match in matches: - year = int(match.group(1)) - if (year <= self._current_year and # Sanity check - (latest_year is None or year > latest_year)): - latest_year = year - - return latest_year - - @lru_cache(maxsize=10000) - def _calculate_score(self, url: str) -> float: - """Calculate freshness score based on URL date. - - More recent years score higher. Uses pre-computed scoring - table for common year differences. - - Args: - url: URL to score - - Returns: - Score between 0.0 and 1.0 * weight - """ - year = self._extract_year(url) - if year is None: - return 0.5 # Default score - - # Use lookup table for common year differences - year_diff = self._current_year - year - if year_diff < len(_FRESHNESS_SCORES): - return _FRESHNESS_SCORES[year_diff] - - # Fallback calculation for older content - return max(0.1, 1.0 - year_diff * 0.1) - -class DomainAuthorityScorer(URLScorer): - __slots__ = ('_weight', '_domain_weights', '_default_weight', '_top_domains') - - def __init__( - self, - domain_weights: Dict[str, float], - default_weight: float = 0.5, - weight: float = 1.0, - ): - """Initialize domain authority scorer. - - Args: - domain_weights: Dict mapping domains to authority scores - default_weight: Score for unknown domains - weight: Overall scorer weight multiplier - - Example: - { - 'python.org': 1.0, - 'github.com': 0.9, - 'medium.com': 0.7 - } - """ - super().__init__(weight=weight) - - # Pre-process domains for faster lookup - self._domain_weights = { - domain.lower(): score - for domain, score in domain_weights.items() - } - self._default_weight = default_weight - - # Cache top domains for fast path - self._top_domains = { - domain: score - for domain, score in sorted( - domain_weights.items(), - key=lambda x: -x[1] - )[:5] # Keep top 5 highest scoring domains - } - - @staticmethod - @lru_cache(maxsize=10000) - def _extract_domain(url: str) -> str: - """Extract domain from URL ultra-fast. - - Handles: - - Basic domains: "example.com" - - Subdomains: "sub.example.com" - - Ports: "example.com:8080" - - IPv4: "192.168.1.1" - - Args: - url: Full URL to extract domain from - - Returns: - Lowercase domain without port - """ - # Find domain start - start = url.find('://') - if start == -1: - start = 0 - else: - start += 3 - - # Find domain end - end = url.find('/', start) - if end == -1: - end = url.find('?', start) - if end == -1: - end = url.find('#', start) - if end == -1: - end = len(url) - - # Extract domain and remove port - domain = url[start:end] - port_idx = domain.rfind(':') - if port_idx != -1: - domain = domain[:port_idx] - - return domain.lower() - - @lru_cache(maxsize=10000) - def _calculate_score(self, url: str) -> float: - """Calculate domain authority score. - - Uses staged approach: - 1. Check top domains (fastest) - 2. Check full domain weights - 3. Return default weight - - Args: - url: URL to score - - Returns: - Authority score between 0.0 and 1.0 * weight - """ - domain = self._extract_domain(url) - - # Fast path: check top domains first - score = self._top_domains.get(domain) - if score is not None: - return score - - # Regular path: check all domains - return self._domain_weights.get(domain, self._default_weight) -``` - - -## File: crawl4ai/deep_crawling/dfs_strategy.py - -```py -# dfs_deep_crawl_strategy.py -from typing import AsyncGenerator, Optional, Set, Dict, List, Tuple - -from ..models import CrawlResult -from .bfs_strategy import BFSDeepCrawlStrategy # noqa -from ..types import AsyncWebCrawler, CrawlerRunConfig - -class DFSDeepCrawlStrategy(BFSDeepCrawlStrategy): - """ - Depth-First Search (DFS) deep crawling strategy. - - Inherits URL validation and link discovery from BFSDeepCrawlStrategy. - Overrides _arun_batch and _arun_stream to use a stack (LIFO) for DFS traversal. - """ - async def _arun_batch( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> List[CrawlResult]: - """ - Batch (non-streaming) DFS mode. - Uses a stack to traverse URLs in DFS order, aggregating CrawlResults into a list. - """ - visited: Set[str] = set() - # Stack items: (url, parent_url, depth) - stack: List[Tuple[str, Optional[str], int]] = [(start_url, None, 0)] - depths: Dict[str, int] = {start_url: 0} - results: List[CrawlResult] = [] - - while stack and not self._cancel_event.is_set(): - url, parent, depth = stack.pop() - if url in visited or depth > self.max_depth: - continue - visited.add(url) - - # Clone config to disable recursive deep crawling. - batch_config = config.clone(deep_crawl_strategy=None, stream=False) - url_results = await crawler.arun_many(urls=[url], config=batch_config) - - for result in url_results: - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - result.metadata["parent_url"] = parent - if self.url_scorer: - result.metadata["score"] = self.url_scorer.score(url) - results.append(result) - - # Count only successful crawls toward max_pages limit - if result.success: - self._pages_crawled += 1 - - # Only discover links from successful crawls - new_links: List[Tuple[str, Optional[str]]] = [] - await self.link_discovery(result, url, depth, visited, new_links, depths) - - # Push new links in reverse order so the first discovered is processed next. - for new_url, new_parent in reversed(new_links): - new_depth = depths.get(new_url, depth + 1) - stack.append((new_url, new_parent, new_depth)) - return results - - async def _arun_stream( - self, - start_url: str, - crawler: AsyncWebCrawler, - config: CrawlerRunConfig, - ) -> AsyncGenerator[CrawlResult, None]: - """ - Streaming DFS mode. - Uses a stack to traverse URLs in DFS order and yields CrawlResults as they become available. - """ - visited: Set[str] = set() - stack: List[Tuple[str, Optional[str], int]] = [(start_url, None, 0)] - depths: Dict[str, int] = {start_url: 0} - - while stack and not self._cancel_event.is_set(): - url, parent, depth = stack.pop() - if url in visited or depth > self.max_depth: - continue - visited.add(url) - - stream_config = config.clone(deep_crawl_strategy=None, stream=True) - stream_gen = await crawler.arun_many(urls=[url], config=stream_config) - async for result in stream_gen: - result.metadata = result.metadata or {} - result.metadata["depth"] = depth - result.metadata["parent_url"] = parent - if self.url_scorer: - result.metadata["score"] = self.url_scorer.score(url) - yield result - - # Only count successful crawls toward max_pages limit - # and only discover links from successful crawls - if result.success: - self._pages_crawled += 1 - - new_links: List[Tuple[str, Optional[str]]] = [] - await self.link_discovery(result, url, depth, visited, new_links, depths) - for new_url, new_parent in reversed(new_links): - new_depth = depths.get(new_url, depth + 1) - stack.append((new_url, new_parent, new_depth)) - -``` - - -## File: crawl4ai/__init__.py - -```py -# __init__.py -import warnings - -from .async_webcrawler import AsyncWebCrawler, CacheMode -from .async_configs import BrowserConfig, CrawlerRunConfig, HTTPCrawlerConfig, LLMConfig, ProxyConfig, GeolocationConfig - -from .content_scraping_strategy import ( - ContentScrapingStrategy, - WebScrapingStrategy, - LXMLWebScrapingStrategy, -) -from .async_logger import ( - AsyncLoggerBase, - AsyncLogger, -) -from .proxy_strategy import ( - ProxyRotationStrategy, - RoundRobinProxyStrategy, -) -from .extraction_strategy import ( - ExtractionStrategy, - LLMExtractionStrategy, - CosineStrategy, - JsonCssExtractionStrategy, - JsonXPathExtractionStrategy, - JsonLxmlExtractionStrategy, - RegexExtractionStrategy -) -from .chunking_strategy import ChunkingStrategy, RegexChunking -from .markdown_generation_strategy import DefaultMarkdownGenerator -from .content_filter_strategy import ( - PruningContentFilter, - BM25ContentFilter, - LLMContentFilter, - RelevantContentFilter, -) -from .models import CrawlResult, MarkdownGenerationResult, DisplayMode -from .components.crawler_monitor import CrawlerMonitor -from .async_dispatcher import ( - MemoryAdaptiveDispatcher, - SemaphoreDispatcher, - RateLimiter, - BaseDispatcher, -) -from .docker_client import Crawl4aiDockerClient -from .hub import CrawlerHub -from .browser_profiler import BrowserProfiler -from .deep_crawling import ( - DeepCrawlStrategy, - BFSDeepCrawlStrategy, - FilterChain, - URLPatternFilter, - DomainFilter, - ContentTypeFilter, - URLFilter, - FilterStats, - SEOFilter, - KeywordRelevanceScorer, - URLScorer, - CompositeScorer, - DomainAuthorityScorer, - FreshnessScorer, - PathDepthScorer, - BestFirstCrawlingStrategy, - DFSDeepCrawlStrategy, - DeepCrawlDecorator, -) - -__all__ = [ - "AsyncLoggerBase", - "AsyncLogger", - "AsyncWebCrawler", - "BrowserProfiler", - "LLMConfig", - "GeolocationConfig", - "DeepCrawlStrategy", - "BFSDeepCrawlStrategy", - "BestFirstCrawlingStrategy", - "DFSDeepCrawlStrategy", - "FilterChain", - "URLPatternFilter", - "ContentTypeFilter", - "DomainFilter", - "FilterStats", - "URLFilter", - "SEOFilter", - "KeywordRelevanceScorer", - "URLScorer", - "CompositeScorer", - "DomainAuthorityScorer", - "FreshnessScorer", - "PathDepthScorer", - "DeepCrawlDecorator", - "CrawlResult", - "CrawlerHub", - "CacheMode", - "ContentScrapingStrategy", - "WebScrapingStrategy", - "LXMLWebScrapingStrategy", - "BrowserConfig", - "CrawlerRunConfig", - "HTTPCrawlerConfig", - "ExtractionStrategy", - "LLMExtractionStrategy", - "CosineStrategy", - "JsonCssExtractionStrategy", - "JsonXPathExtractionStrategy", - "JsonLxmlExtractionStrategy", - "RegexExtractionStrategy", - "ChunkingStrategy", - "RegexChunking", - "DefaultMarkdownGenerator", - "RelevantContentFilter", - "PruningContentFilter", - "BM25ContentFilter", - "LLMContentFilter", - "BaseDispatcher", - "MemoryAdaptiveDispatcher", - "SemaphoreDispatcher", - "RateLimiter", - "CrawlerMonitor", - "DisplayMode", - "MarkdownGenerationResult", - "Crawl4aiDockerClient", - "ProxyRotationStrategy", - "RoundRobinProxyStrategy", - "ProxyConfig" -] - - -# def is_sync_version_installed(): -# try: -# import selenium # noqa - -# return True -# except ImportError: -# return False - - -# if is_sync_version_installed(): -# try: -# from .web_crawler import WebCrawler - -# __all__.append("WebCrawler") -# except ImportError: -# print( -# "Warning: Failed to import WebCrawler even though selenium is installed. This might be due to other missing dependencies." -# ) -# else: -# WebCrawler = None -# # import warnings -# # print("Warning: Synchronous WebCrawler is not available. Install crawl4ai[sync] for synchronous support. However, please note that the synchronous version will be deprecated soon.") - -# Disable all Pydantic warnings -warnings.filterwarnings("ignore", module="pydantic") -# pydantic_warnings.filter_warnings() - -``` - - -## File: crawl4ai/async_configs.py - -```py -import os -from .config import ( - DEFAULT_PROVIDER, - DEFAULT_PROVIDER_API_KEY, - MIN_WORD_THRESHOLD, - IMAGE_DESCRIPTION_MIN_WORD_THRESHOLD, - PROVIDER_MODELS, - PROVIDER_MODELS_PREFIXES, - SCREENSHOT_HEIGHT_TRESHOLD, - PAGE_TIMEOUT, - IMAGE_SCORE_THRESHOLD, - SOCIAL_MEDIA_DOMAINS, -) - -from .user_agent_generator import UAGen, ValidUAGenerator # , OnlineUAGenerator -from .extraction_strategy import ExtractionStrategy, LLMExtractionStrategy -from .chunking_strategy import ChunkingStrategy, RegexChunking - -from .markdown_generation_strategy import MarkdownGenerationStrategy, DefaultMarkdownGenerator -from .content_scraping_strategy import ContentScrapingStrategy, WebScrapingStrategy -from .deep_crawling import DeepCrawlStrategy - -from .cache_context import CacheMode -from .proxy_strategy import ProxyRotationStrategy - -from typing import Union, List -import inspect -from typing import Any, Dict, Optional -from enum import Enum - -# from .proxy_strategy import ProxyConfig - - - -def to_serializable_dict(obj: Any, ignore_default_value : bool = False) -> Dict: - """ - Recursively convert an object to a serializable dictionary using {type, params} structure - for complex objects. - """ - if obj is None: - return None - - # Handle basic types - if isinstance(obj, (str, int, float, bool)): - return obj - - # Handle Enum - if isinstance(obj, Enum): - return {"type": obj.__class__.__name__, "params": obj.value} - - # Handle datetime objects - if hasattr(obj, "isoformat"): - return obj.isoformat() - - # Handle lists, tuples, and sets, and basically any iterable - if isinstance(obj, (list, tuple, set)) or hasattr(obj, '__iter__') and not isinstance(obj, dict): - return [to_serializable_dict(item) for item in obj] - - # Handle frozensets, which are not iterable - if isinstance(obj, frozenset): - return [to_serializable_dict(item) for item in list(obj)] - - # Handle dictionaries - preserve them as-is - if isinstance(obj, dict): - return { - "type": "dict", # Mark as plain dictionary - "value": {str(k): to_serializable_dict(v) for k, v in obj.items()}, - } - - _type = obj.__class__.__name__ - - # Handle class instances - if hasattr(obj, "__class__"): - # Get constructor signature - sig = inspect.signature(obj.__class__.__init__) - params = sig.parameters - - # Get current values - current_values = {} - for name, param in params.items(): - if name == "self": - continue - - value = getattr(obj, name, param.default) - - # Only include if different from default, considering empty values - if not (is_empty_value(value) and is_empty_value(param.default)): - if value != param.default and not ignore_default_value: - current_values[name] = to_serializable_dict(value) - - if hasattr(obj, '__slots__'): - for slot in obj.__slots__: - if slot.startswith('_'): # Handle private slots - attr_name = slot[1:] # Remove leading '_' - value = getattr(obj, slot, None) - if value is not None: - current_values[attr_name] = to_serializable_dict(value) - - - - return { - "type": obj.__class__.__name__, - "params": current_values - } - - return str(obj) - - -def from_serializable_dict(data: Any) -> Any: - """ - Recursively convert a serializable dictionary back to an object instance. - """ - if data is None: - return None - - # Handle basic types - if isinstance(data, (str, int, float, bool)): - return data - - # Handle typed data - if isinstance(data, dict) and "type" in data: - # Handle plain dictionaries - if data["type"] == "dict" and "value" in data: - return {k: from_serializable_dict(v) for k, v in data["value"].items()} - - # Import from crawl4ai for class instances - import crawl4ai - - if hasattr(crawl4ai, data["type"]): - cls = getattr(crawl4ai, data["type"]) - - # Handle Enum - if issubclass(cls, Enum): - return cls(data["params"]) - - if "params" in data: - # Handle class instances - constructor_args = { - k: from_serializable_dict(v) for k, v in data["params"].items() - } - return cls(**constructor_args) - - # Handle lists - if isinstance(data, list): - return [from_serializable_dict(item) for item in data] - - # Handle raw dictionaries (legacy support) - if isinstance(data, dict): - return {k: from_serializable_dict(v) for k, v in data.items()} - - return data - - -def is_empty_value(value: Any) -> bool: - """Check if a value is effectively empty/null.""" - if value is None: - return True - if isinstance(value, (list, tuple, set, dict, str)) and len(value) == 0: - return True - return False - -class GeolocationConfig: - def __init__( - self, - latitude: float, - longitude: float, - accuracy: Optional[float] = 0.0 - ): - """Configuration class for geolocation settings. - - Args: - latitude: Latitude coordinate (e.g., 37.7749) - longitude: Longitude coordinate (e.g., -122.4194) - accuracy: Accuracy in meters. Default: 0.0 - """ - self.latitude = latitude - self.longitude = longitude - self.accuracy = accuracy - - @staticmethod - def from_dict(geo_dict: Dict) -> "GeolocationConfig": - """Create a GeolocationConfig from a dictionary.""" - return GeolocationConfig( - latitude=geo_dict.get("latitude"), - longitude=geo_dict.get("longitude"), - accuracy=geo_dict.get("accuracy", 0.0) - ) - - def to_dict(self) -> Dict: - """Convert to dictionary representation.""" - return { - "latitude": self.latitude, - "longitude": self.longitude, - "accuracy": self.accuracy - } - - def clone(self, **kwargs) -> "GeolocationConfig": - """Create a copy of this configuration with updated values. - - Args: - **kwargs: Key-value pairs of configuration options to update - - Returns: - GeolocationConfig: A new instance with the specified updates - """ - config_dict = self.to_dict() - config_dict.update(kwargs) - return GeolocationConfig.from_dict(config_dict) - - -class ProxyConfig: - def __init__( - self, - server: str, - username: Optional[str] = None, - password: Optional[str] = None, - ip: Optional[str] = None, - ): - """Configuration class for a single proxy. - - Args: - server: Proxy server URL (e.g., "http://127.0.0.1:8080") - username: Optional username for proxy authentication - password: Optional password for proxy authentication - ip: Optional IP address for verification purposes - """ - self.server = server - self.username = username - self.password = password - - # Extract IP from server if not explicitly provided - self.ip = ip or self._extract_ip_from_server() - - def _extract_ip_from_server(self) -> Optional[str]: - """Extract IP address from server URL.""" - try: - # Simple extraction assuming http://ip:port format - if "://" in self.server: - parts = self.server.split("://")[1].split(":") - return parts[0] - else: - parts = self.server.split(":") - return parts[0] - except Exception: - return None - - @staticmethod - def from_string(proxy_str: str) -> "ProxyConfig": - """Create a ProxyConfig from a string in the format 'ip:port:username:password'.""" - parts = proxy_str.split(":") - if len(parts) == 4: # ip:port:username:password - ip, port, username, password = parts - return ProxyConfig( - server=f"http://{ip}:{port}", - username=username, - password=password, - ip=ip - ) - elif len(parts) == 2: # ip:port only - ip, port = parts - return ProxyConfig( - server=f"http://{ip}:{port}", - ip=ip - ) - else: - raise ValueError(f"Invalid proxy string format: {proxy_str}") - - @staticmethod - def from_dict(proxy_dict: Dict) -> "ProxyConfig": - """Create a ProxyConfig from a dictionary.""" - return ProxyConfig( - server=proxy_dict.get("server"), - username=proxy_dict.get("username"), - password=proxy_dict.get("password"), - ip=proxy_dict.get("ip") - ) - - @staticmethod - def from_env(env_var: str = "PROXIES") -> List["ProxyConfig"]: - """Load proxies from environment variable. - - Args: - env_var: Name of environment variable containing comma-separated proxy strings - - Returns: - List of ProxyConfig objects - """ - proxies = [] - try: - proxy_list = os.getenv(env_var, "").split(",") - for proxy in proxy_list: - if not proxy: - continue - proxies.append(ProxyConfig.from_string(proxy)) - except Exception as e: - print(f"Error loading proxies from environment: {e}") - return proxies - - def to_dict(self) -> Dict: - """Convert to dictionary representation.""" - return { - "server": self.server, - "username": self.username, - "password": self.password, - "ip": self.ip - } - - def clone(self, **kwargs) -> "ProxyConfig": - """Create a copy of this configuration with updated values. - - Args: - **kwargs: Key-value pairs of configuration options to update - - Returns: - ProxyConfig: A new instance with the specified updates - """ - config_dict = self.to_dict() - config_dict.update(kwargs) - return ProxyConfig.from_dict(config_dict) - - - -class BrowserConfig: - """ - Configuration class for setting up a browser instance and its context in AsyncPlaywrightCrawlerStrategy. - - This class centralizes all parameters that affect browser and context creation. Instead of passing - scattered keyword arguments, users can instantiate and modify this configuration object. The crawler - code will then reference these settings to initialize the browser in a consistent, documented manner. - - Attributes: - browser_type (str): The type of browser to launch. Supported values: "chromium", "firefox", "webkit". - Default: "chromium". - headless (bool): Whether to run the browser in headless mode (no visible GUI). - Default: True. - browser_mode (str): Determines how the browser should be initialized: - "builtin" - use the builtin CDP browser running in background - "dedicated" - create a new dedicated browser instance each time - "cdp" - use explicit CDP settings provided in cdp_url - "docker" - run browser in Docker container with isolation - Default: "dedicated" - use_managed_browser (bool): Launch the browser using a managed approach (e.g., via CDP), allowing - advanced manipulation. Default: False. - cdp_url (str): URL for the Chrome DevTools Protocol (CDP) endpoint. Default: "ws://localhost:9222/devtools/browser/". - debugging_port (int): Port for the browser debugging protocol. Default: 9222. - use_persistent_context (bool): Use a persistent browser context (like a persistent profile). - Automatically sets use_managed_browser=True. Default: False. - user_data_dir (str or None): Path to a user data directory for persistent sessions. If None, a - temporary directory may be used. Default: None. - chrome_channel (str): The Chrome channel to launch (e.g., "chrome", "msedge"). Only applies if browser_type - is "chromium". Default: "chromium". - channel (str): The channel to launch (e.g., "chromium", "chrome", "msedge"). Only applies if browser_type - is "chromium". Default: "chromium". - proxy (Optional[str]): Proxy server URL (e.g., "http://username:password@proxy:port"). If None, no proxy is used. - Default: None. - proxy_config (ProxyConfig or dict or None): Detailed proxy configuration, e.g. {"server": "...", "username": "..."}. - If None, no additional proxy config. Default: None. - viewport_width (int): Default viewport width for pages. Default: 1080. - viewport_height (int): Default viewport height for pages. Default: 600. - viewport (dict): Default viewport dimensions for pages. If set, overrides viewport_width and viewport_height. - Default: None. - verbose (bool): Enable verbose logging. - Default: True. - accept_downloads (bool): Whether to allow file downloads. If True, requires a downloads_path. - Default: False. - downloads_path (str or None): Directory to store downloaded files. If None and accept_downloads is True, - a default path will be created. Default: None. - storage_state (str or dict or None): An in-memory storage state (cookies, localStorage). - Default: None. - ignore_https_errors (bool): Ignore HTTPS certificate errors. Default: True. - java_script_enabled (bool): Enable JavaScript execution in pages. Default: True. - cookies (list): List of cookies to add to the browser context. Each cookie is a dict with fields like - {"name": "...", "value": "...", "url": "..."}. - Default: []. - headers (dict): Extra HTTP headers to apply to all requests in this context. - Default: {}. - user_agent (str): Custom User-Agent string to use. Default: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) " - "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36". - user_agent_mode (str or None): Mode for generating the user agent (e.g., "random"). If None, use the provided - user_agent as-is. Default: None. - user_agent_generator_config (dict or None): Configuration for user agent generation if user_agent_mode is set. - Default: None. - text_mode (bool): If True, disables images and other rich content for potentially faster load times. - Default: False. - light_mode (bool): Disables certain background features for performance gains. Default: False. - extra_args (list): Additional command-line arguments passed to the browser. - Default: []. - """ - - def __init__( - self, - browser_type: str = "chromium", - headless: bool = True, - browser_mode: str = "dedicated", - use_managed_browser: bool = False, - cdp_url: str = None, - use_persistent_context: bool = False, - user_data_dir: str = None, - chrome_channel: str = "chromium", - channel: str = "chromium", - proxy: str = None, - proxy_config: Union[ProxyConfig, dict, None] = None, - viewport_width: int = 1080, - viewport_height: int = 600, - viewport: dict = None, - accept_downloads: bool = False, - downloads_path: str = None, - storage_state: Union[str, dict, None] = None, - ignore_https_errors: bool = True, - java_script_enabled: bool = True, - sleep_on_close: bool = False, - verbose: bool = True, - cookies: list = None, - headers: dict = None, - user_agent: str = ( - # "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) AppleWebKit/537.36 " - # "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 " - # "(KHTML, like Gecko) Chrome/116.0.5845.187 Safari/604.1 Edg/117.0.2045.47" - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/116.0.0.0 Safari/537.36" - ), - user_agent_mode: str = "", - user_agent_generator_config: dict = {}, - text_mode: bool = False, - light_mode: bool = False, - extra_args: list = None, - debugging_port: int = 9222, - host: str = "localhost", - ): - self.browser_type = browser_type - self.headless = headless - self.browser_mode = browser_mode - self.use_managed_browser = use_managed_browser - self.cdp_url = cdp_url - self.use_persistent_context = use_persistent_context - self.user_data_dir = user_data_dir - self.chrome_channel = chrome_channel or self.browser_type or "chromium" - self.channel = channel or self.browser_type or "chromium" - if self.browser_type in ["firefox", "webkit"]: - self.channel = "" - self.chrome_channel = "" - self.proxy = proxy - self.proxy_config = proxy_config - - - self.viewport_width = viewport_width - self.viewport_height = viewport_height - self.viewport = viewport - if self.viewport is not None: - self.viewport_width = self.viewport.get("width", 1080) - self.viewport_height = self.viewport.get("height", 600) - self.accept_downloads = accept_downloads - self.downloads_path = downloads_path - self.storage_state = storage_state - self.ignore_https_errors = ignore_https_errors - self.java_script_enabled = java_script_enabled - self.cookies = cookies if cookies is not None else [] - self.headers = headers if headers is not None else {} - self.user_agent = user_agent - self.user_agent_mode = user_agent_mode - self.user_agent_generator_config = user_agent_generator_config - self.text_mode = text_mode - self.light_mode = light_mode - self.extra_args = extra_args if extra_args is not None else [] - self.sleep_on_close = sleep_on_close - self.verbose = verbose - self.debugging_port = debugging_port - self.host = host - - fa_user_agenr_generator = ValidUAGenerator() - if self.user_agent_mode == "random": - self.user_agent = fa_user_agenr_generator.generate( - **(self.user_agent_generator_config or {}) - ) - else: - pass - - self.browser_hint = UAGen.generate_client_hints(self.user_agent) - self.headers.setdefault("sec-ch-ua", self.browser_hint) - - # Set appropriate browser management flags based on browser_mode - if self.browser_mode == "builtin": - # Builtin mode uses managed browser connecting to builtin CDP endpoint - self.use_managed_browser = True - # cdp_url will be set later by browser_manager - elif self.browser_mode == "docker": - # Docker mode uses managed browser with CDP to connect to browser in container - self.use_managed_browser = True - # cdp_url will be set later by docker browser strategy - elif self.browser_mode == "custom" and self.cdp_url: - # Custom mode with explicit CDP URL - self.use_managed_browser = True - elif self.browser_mode == "dedicated": - # Dedicated mode uses a new browser instance each time - pass - - # If persistent context is requested, ensure managed browser is enabled - if self.use_persistent_context: - self.use_managed_browser = True - - @staticmethod - def from_kwargs(kwargs: dict) -> "BrowserConfig": - return BrowserConfig( - browser_type=kwargs.get("browser_type", "chromium"), - headless=kwargs.get("headless", True), - browser_mode=kwargs.get("browser_mode", "dedicated"), - use_managed_browser=kwargs.get("use_managed_browser", False), - cdp_url=kwargs.get("cdp_url"), - use_persistent_context=kwargs.get("use_persistent_context", False), - user_data_dir=kwargs.get("user_data_dir"), - chrome_channel=kwargs.get("chrome_channel", "chromium"), - channel=kwargs.get("channel", "chromium"), - proxy=kwargs.get("proxy"), - proxy_config=kwargs.get("proxy_config", None), - viewport_width=kwargs.get("viewport_width", 1080), - viewport_height=kwargs.get("viewport_height", 600), - accept_downloads=kwargs.get("accept_downloads", False), - downloads_path=kwargs.get("downloads_path"), - storage_state=kwargs.get("storage_state"), - ignore_https_errors=kwargs.get("ignore_https_errors", True), - java_script_enabled=kwargs.get("java_script_enabled", True), - cookies=kwargs.get("cookies", []), - headers=kwargs.get("headers", {}), - user_agent=kwargs.get( - "user_agent", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) " - "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", - ), - user_agent_mode=kwargs.get("user_agent_mode"), - user_agent_generator_config=kwargs.get("user_agent_generator_config"), - text_mode=kwargs.get("text_mode", False), - light_mode=kwargs.get("light_mode", False), - extra_args=kwargs.get("extra_args", []), - debugging_port=kwargs.get("debugging_port", 9222), - host=kwargs.get("host", "localhost"), - ) - - def to_dict(self): - result = { - "browser_type": self.browser_type, - "headless": self.headless, - "browser_mode": self.browser_mode, - "use_managed_browser": self.use_managed_browser, - "cdp_url": self.cdp_url, - "use_persistent_context": self.use_persistent_context, - "user_data_dir": self.user_data_dir, - "chrome_channel": self.chrome_channel, - "channel": self.channel, - "proxy": self.proxy, - "proxy_config": self.proxy_config, - "viewport_width": self.viewport_width, - "viewport_height": self.viewport_height, - "accept_downloads": self.accept_downloads, - "downloads_path": self.downloads_path, - "storage_state": self.storage_state, - "ignore_https_errors": self.ignore_https_errors, - "java_script_enabled": self.java_script_enabled, - "cookies": self.cookies, - "headers": self.headers, - "user_agent": self.user_agent, - "user_agent_mode": self.user_agent_mode, - "user_agent_generator_config": self.user_agent_generator_config, - "text_mode": self.text_mode, - "light_mode": self.light_mode, - "extra_args": self.extra_args, - "sleep_on_close": self.sleep_on_close, - "verbose": self.verbose, - "debugging_port": self.debugging_port, - "host": self.host, - } - - - return result - - def clone(self, **kwargs): - """Create a copy of this configuration with updated values. - - Args: - **kwargs: Key-value pairs of configuration options to update - - Returns: - BrowserConfig: A new instance with the specified updates - """ - config_dict = self.to_dict() - config_dict.update(kwargs) - return BrowserConfig.from_kwargs(config_dict) - - # Create a funciton returns dict of the object - def dump(self) -> dict: - # Serialize the object to a dictionary - return to_serializable_dict(self) - - @staticmethod - def load(data: dict) -> "BrowserConfig": - # Deserialize the object from a dictionary - config = from_serializable_dict(data) - if isinstance(config, BrowserConfig): - return config - return BrowserConfig.from_kwargs(config) - - -class HTTPCrawlerConfig: - """HTTP-specific crawler configuration""" - - method: str = "GET" - headers: Optional[Dict[str, str]] = None - data: Optional[Dict[str, Any]] = None - json: Optional[Dict[str, Any]] = None - follow_redirects: bool = True - verify_ssl: bool = True - - def __init__( - self, - method: str = "GET", - headers: Optional[Dict[str, str]] = None, - data: Optional[Dict[str, Any]] = None, - json: Optional[Dict[str, Any]] = None, - follow_redirects: bool = True, - verify_ssl: bool = True, - ): - self.method = method - self.headers = headers - self.data = data - self.json = json - self.follow_redirects = follow_redirects - self.verify_ssl = verify_ssl - - @staticmethod - def from_kwargs(kwargs: dict) -> "HTTPCrawlerConfig": - return HTTPCrawlerConfig( - method=kwargs.get("method", "GET"), - headers=kwargs.get("headers"), - data=kwargs.get("data"), - json=kwargs.get("json"), - follow_redirects=kwargs.get("follow_redirects", True), - verify_ssl=kwargs.get("verify_ssl", True), - ) - - def to_dict(self): - return { - "method": self.method, - "headers": self.headers, - "data": self.data, - "json": self.json, - "follow_redirects": self.follow_redirects, - "verify_ssl": self.verify_ssl, - } - - def clone(self, **kwargs): - """Create a copy of this configuration with updated values. - - Args: - **kwargs: Key-value pairs of configuration options to update - - Returns: - HTTPCrawlerConfig: A new instance with the specified updates - """ - config_dict = self.to_dict() - config_dict.update(kwargs) - return HTTPCrawlerConfig.from_kwargs(config_dict) - - def dump(self) -> dict: - return to_serializable_dict(self) - - @staticmethod - def load(data: dict) -> "HTTPCrawlerConfig": - config = from_serializable_dict(data) - if isinstance(config, HTTPCrawlerConfig): - return config - return HTTPCrawlerConfig.from_kwargs(config) - -class CrawlerRunConfig(): - _UNWANTED_PROPS = { - 'disable_cache' : 'Instead, use cache_mode=CacheMode.DISABLED', - 'bypass_cache' : 'Instead, use cache_mode=CacheMode.BYPASS', - 'no_cache_read' : 'Instead, use cache_mode=CacheMode.WRITE_ONLY', - 'no_cache_write' : 'Instead, use cache_mode=CacheMode.READ_ONLY', - } - - """ - Configuration class for controlling how the crawler runs each crawl operation. - This includes parameters for content extraction, page manipulation, waiting conditions, - caching, and other runtime behaviors. - - This centralizes parameters that were previously scattered as kwargs to `arun()` and related methods. - By using this class, you have a single place to understand and adjust the crawling options. - - Attributes: - # Deep Crawl Parameters - deep_crawl_strategy (DeepCrawlStrategy or None): Strategy to use for deep crawling. - - # Content Processing Parameters - word_count_threshold (int): Minimum word count threshold before processing content. - Default: MIN_WORD_THRESHOLD (typically 200). - extraction_strategy (ExtractionStrategy or None): Strategy to extract structured data from crawled pages. - Default: None (NoExtractionStrategy is used if None). - chunking_strategy (ChunkingStrategy): Strategy to chunk content before extraction. - Default: RegexChunking(). - markdown_generator (MarkdownGenerationStrategy): Strategy for generating markdown. - Default: None. - only_text (bool): If True, attempt to extract text-only content where applicable. - Default: False. - css_selector (str or None): CSS selector to extract a specific portion of the page. - Default: None. - - target_elements (list of str or None): List of CSS selectors for specific elements for Markdown generation - and structured data extraction. When you set this, only the contents - of these elements are processed for extraction and Markdown generation. - If you do not set any value, the entire page is processed. - The difference between this and css_selector is that this will shrink - the initial raw HTML to the selected element, while this will only affect - the extraction and Markdown generation. - Default: None - excluded_tags (list of str or None): List of HTML tags to exclude from processing. - Default: None. - excluded_selector (str or None): CSS selector to exclude from processing. - Default: None. - keep_data_attributes (bool): If True, retain `data-*` attributes while removing unwanted attributes. - Default: False. - keep_attrs (list of str): List of HTML attributes to keep during processing. - Default: []. - remove_forms (bool): If True, remove all `
` elements from the HTML. - Default: False. - prettiify (bool): If True, apply `fast_format_html` to produce prettified HTML output. - Default: False. - parser_type (str): Type of parser to use for HTML parsing. - Default: "lxml". - scraping_strategy (ContentScrapingStrategy): Scraping strategy to use. - Default: WebScrapingStrategy. - proxy_config (ProxyConfig or dict or None): Detailed proxy configuration, e.g. {"server": "...", "username": "..."}. - If None, no additional proxy config. Default: None. - - # Browser Location and Identity Parameters - locale (str or None): Locale to use for the browser context (e.g., "en-US"). - Default: None. - timezone_id (str or None): Timezone identifier to use for the browser context (e.g., "America/New_York"). - Default: None. - geolocation (GeolocationConfig or None): Geolocation configuration for the browser. - Default: None. - - # SSL Parameters - fetch_ssl_certificate: bool = False, - # Caching Parameters - cache_mode (CacheMode or None): Defines how caching is handled. - If None, defaults to CacheMode.ENABLED internally. - Default: CacheMode.BYPASS. - session_id (str or None): Optional session ID to persist the browser context and the created - page instance. If the ID already exists, the crawler does not - create a new page and uses the current page to preserve the state. - bypass_cache (bool): Legacy parameter, if True acts like CacheMode.BYPASS. - Default: False. - disable_cache (bool): Legacy parameter, if True acts like CacheMode.DISABLED. - Default: False. - no_cache_read (bool): Legacy parameter, if True acts like CacheMode.WRITE_ONLY. - Default: False. - no_cache_write (bool): Legacy parameter, if True acts like CacheMode.READ_ONLY. - Default: False. - shared_data (dict or None): Shared data to be passed between hooks. - Default: None. - - # Page Navigation and Timing Parameters - wait_until (str): The condition to wait for when navigating, e.g. "domcontentloaded". - Default: "domcontentloaded". - page_timeout (int): Timeout in ms for page operations like navigation. - Default: 60000 (60 seconds). - wait_for (str or None): A CSS selector or JS condition to wait for before extracting content. - Default: None. - wait_for_timeout (int or None): Specific timeout in ms for the wait_for condition. - If None, uses page_timeout instead. - Default: None. - wait_for_images (bool): If True, wait for images to load before extracting content. - Default: False. - delay_before_return_html (float): Delay in seconds before retrieving final HTML. - Default: 0.1. - mean_delay (float): Mean base delay between requests when calling arun_many. - Default: 0.1. - max_range (float): Max random additional delay range for requests in arun_many. - Default: 0.3. - semaphore_count (int): Number of concurrent operations allowed. - Default: 5. - - # Page Interaction Parameters - js_code (str or list of str or None): JavaScript code/snippets to run on the page. - Default: None. - js_only (bool): If True, indicates subsequent calls are JS-driven updates, not full page loads. - Default: False. - ignore_body_visibility (bool): If True, ignore whether the body is visible before proceeding. - Default: True. - scan_full_page (bool): If True, scroll through the entire page to load all content. - Default: False. - scroll_delay (float): Delay in seconds between scroll steps if scan_full_page is True. - Default: 0.2. - process_iframes (bool): If True, attempts to process and inline iframe content. - Default: False. - remove_overlay_elements (bool): If True, remove overlays/popups before extracting HTML. - Default: False. - simulate_user (bool): If True, simulate user interactions (mouse moves, clicks) for anti-bot measures. - Default: False. - override_navigator (bool): If True, overrides navigator properties for more human-like behavior. - Default: False. - magic (bool): If True, attempts automatic handling of overlays/popups. - Default: False. - adjust_viewport_to_content (bool): If True, adjust viewport according to the page content dimensions. - Default: False. - - # Media Handling Parameters - screenshot (bool): Whether to take a screenshot after crawling. - Default: False. - screenshot_wait_for (float or None): Additional wait time before taking a screenshot. - Default: None. - screenshot_height_threshold (int): Threshold for page height to decide screenshot strategy. - Default: SCREENSHOT_HEIGHT_TRESHOLD (from config, e.g. 20000). - pdf (bool): Whether to generate a PDF of the page. - Default: False. - image_description_min_word_threshold (int): Minimum words for image description extraction. - Default: IMAGE_DESCRIPTION_MIN_WORD_THRESHOLD (e.g., 50). - image_score_threshold (int): Minimum score threshold for processing an image. - Default: IMAGE_SCORE_THRESHOLD (e.g., 3). - exclude_external_images (bool): If True, exclude all external images from processing. - Default: False. - table_score_threshold (int): Minimum score threshold for processing a table. - Default: 7. - - # Link and Domain Handling Parameters - exclude_social_media_domains (list of str): List of domains to exclude for social media links. - Default: SOCIAL_MEDIA_DOMAINS (from config). - exclude_external_links (bool): If True, exclude all external links from the results. - Default: False. - exclude_internal_links (bool): If True, exclude internal links from the results. - Default: False. - exclude_social_media_links (bool): If True, exclude links pointing to social media domains. - Default: False. - exclude_domains (list of str): List of specific domains to exclude from results. - Default: []. - exclude_internal_links (bool): If True, exclude internal links from the results. - Default: False. - - # Debugging and Logging Parameters - verbose (bool): Enable verbose logging. - Default: True. - log_console (bool): If True, log console messages from the page. - Default: False. - - # HTTP Crwler Strategy Parameters - method (str): HTTP method to use for the request, when using AsyncHTTPCrwalerStrategy. - Default: "GET". - data (dict): Data to send in the request body, when using AsyncHTTPCrwalerStrategy. - Default: None. - json (dict): JSON data to send in the request body, when using AsyncHTTPCrwalerStrategy. - - # Connection Parameters - stream (bool): If True, enables streaming of crawled URLs as they are processed when used with arun_many. - Default: False. - - check_robots_txt (bool): Whether to check robots.txt rules before crawling. Default: False - Default: False. - user_agent (str): Custom User-Agent string to use. - Default: None. - user_agent_mode (str or None): Mode for generating the user agent (e.g., "random"). If None, use the provided user_agent as-is. - Default: None. - user_agent_generator_config (dict or None): Configuration for user agent generation if user_agent_mode is set. - Default: None. - - # Experimental Parameters - experimental (dict): Dictionary containing experimental parameters that are in beta phase. - This allows passing temporary features that are not yet fully integrated - into the main parameter set. - Default: None. - - url: str = None # This is not a compulsory parameter - """ - - def __init__( - self, - # Content Processing Parameters - word_count_threshold: int = MIN_WORD_THRESHOLD, - extraction_strategy: ExtractionStrategy = None, - chunking_strategy: ChunkingStrategy = RegexChunking(), - markdown_generator: MarkdownGenerationStrategy = DefaultMarkdownGenerator(), - only_text: bool = False, - css_selector: str = None, - target_elements: List[str] = None, - excluded_tags: list = None, - excluded_selector: str = None, - keep_data_attributes: bool = False, - keep_attrs: list = None, - remove_forms: bool = False, - prettiify: bool = False, - parser_type: str = "lxml", - scraping_strategy: ContentScrapingStrategy = None, - proxy_config: Union[ProxyConfig, dict, None] = None, - proxy_rotation_strategy: Optional[ProxyRotationStrategy] = None, - # Browser Location and Identity Parameters - locale: Optional[str] = None, - timezone_id: Optional[str] = None, - geolocation: Optional[GeolocationConfig] = None, - # SSL Parameters - fetch_ssl_certificate: bool = False, - # Caching Parameters - cache_mode: CacheMode = CacheMode.BYPASS, - session_id: str = None, - bypass_cache: bool = False, - disable_cache: bool = False, - no_cache_read: bool = False, - no_cache_write: bool = False, - shared_data: dict = None, - # Page Navigation and Timing Parameters - wait_until: str = "domcontentloaded", - page_timeout: int = PAGE_TIMEOUT, - wait_for: str = None, - wait_for_timeout: int = None, - wait_for_images: bool = False, - delay_before_return_html: float = 0.1, - mean_delay: float = 0.1, - max_range: float = 0.3, - semaphore_count: int = 5, - # Page Interaction Parameters - js_code: Union[str, List[str]] = None, - js_only: bool = False, - ignore_body_visibility: bool = True, - scan_full_page: bool = False, - scroll_delay: float = 0.2, - process_iframes: bool = False, - remove_overlay_elements: bool = False, - simulate_user: bool = False, - override_navigator: bool = False, - magic: bool = False, - adjust_viewport_to_content: bool = False, - # Media Handling Parameters - screenshot: bool = False, - screenshot_wait_for: float = None, - screenshot_height_threshold: int = SCREENSHOT_HEIGHT_TRESHOLD, - pdf: bool = False, - capture_mhtml: bool = False, - image_description_min_word_threshold: int = IMAGE_DESCRIPTION_MIN_WORD_THRESHOLD, - image_score_threshold: int = IMAGE_SCORE_THRESHOLD, - table_score_threshold: int = 7, - exclude_external_images: bool = False, - exclude_all_images: bool = False, - # Link and Domain Handling Parameters - exclude_social_media_domains: list = None, - exclude_external_links: bool = False, - exclude_social_media_links: bool = False, - exclude_domains: list = None, - exclude_internal_links: bool = False, - # Debugging and Logging Parameters - verbose: bool = True, - log_console: bool = False, - # Network and Console Capturing Parameters - capture_network_requests: bool = False, - capture_console_messages: bool = False, - # Connection Parameters - method: str = "GET", - stream: bool = False, - url: str = None, - check_robots_txt: bool = False, - user_agent: str = None, - user_agent_mode: str = None, - user_agent_generator_config: dict = {}, - # Deep Crawl Parameters - deep_crawl_strategy: Optional[DeepCrawlStrategy] = None, - # Experimental Parameters - experimental: Dict[str, Any] = None, - ): - # TODO: Planning to set properties dynamically based on the __init__ signature - self.url = url - - # Content Processing Parameters - self.word_count_threshold = word_count_threshold - self.extraction_strategy = extraction_strategy - self.chunking_strategy = chunking_strategy - self.markdown_generator = markdown_generator - self.only_text = only_text - self.css_selector = css_selector - self.target_elements = target_elements or [] - self.excluded_tags = excluded_tags or [] - self.excluded_selector = excluded_selector or "" - self.keep_data_attributes = keep_data_attributes - self.keep_attrs = keep_attrs or [] - self.remove_forms = remove_forms - self.prettiify = prettiify - self.parser_type = parser_type - self.scraping_strategy = scraping_strategy or WebScrapingStrategy() - self.proxy_config = proxy_config - self.proxy_rotation_strategy = proxy_rotation_strategy - - # Browser Location and Identity Parameters - self.locale = locale - self.timezone_id = timezone_id - self.geolocation = geolocation - - # SSL Parameters - self.fetch_ssl_certificate = fetch_ssl_certificate - - # Caching Parameters - self.cache_mode = cache_mode - self.session_id = session_id - self.bypass_cache = bypass_cache - self.disable_cache = disable_cache - self.no_cache_read = no_cache_read - self.no_cache_write = no_cache_write - self.shared_data = shared_data - - # Page Navigation and Timing Parameters - self.wait_until = wait_until - self.page_timeout = page_timeout - self.wait_for = wait_for - self.wait_for_timeout = wait_for_timeout - self.wait_for_images = wait_for_images - self.delay_before_return_html = delay_before_return_html - self.mean_delay = mean_delay - self.max_range = max_range - self.semaphore_count = semaphore_count - - # Page Interaction Parameters - self.js_code = js_code - self.js_only = js_only - self.ignore_body_visibility = ignore_body_visibility - self.scan_full_page = scan_full_page - self.scroll_delay = scroll_delay - self.process_iframes = process_iframes - self.remove_overlay_elements = remove_overlay_elements - self.simulate_user = simulate_user - self.override_navigator = override_navigator - self.magic = magic - self.adjust_viewport_to_content = adjust_viewport_to_content - - # Media Handling Parameters - self.screenshot = screenshot - self.screenshot_wait_for = screenshot_wait_for - self.screenshot_height_threshold = screenshot_height_threshold - self.pdf = pdf - self.capture_mhtml = capture_mhtml - self.image_description_min_word_threshold = image_description_min_word_threshold - self.image_score_threshold = image_score_threshold - self.exclude_external_images = exclude_external_images - self.exclude_all_images = exclude_all_images - self.table_score_threshold = table_score_threshold - - # Link and Domain Handling Parameters - self.exclude_social_media_domains = ( - exclude_social_media_domains or SOCIAL_MEDIA_DOMAINS - ) - self.exclude_external_links = exclude_external_links - self.exclude_social_media_links = exclude_social_media_links - self.exclude_domains = exclude_domains or [] - self.exclude_internal_links = exclude_internal_links - - # Debugging and Logging Parameters - self.verbose = verbose - self.log_console = log_console - - # Network and Console Capturing Parameters - self.capture_network_requests = capture_network_requests - self.capture_console_messages = capture_console_messages - - # Connection Parameters - self.stream = stream - self.method = method - - # Robots.txt Handling Parameters - self.check_robots_txt = check_robots_txt - - # User Agent Parameters - self.user_agent = user_agent - self.user_agent_mode = user_agent_mode - self.user_agent_generator_config = user_agent_generator_config - - # Validate type of extraction strategy and chunking strategy if they are provided - if self.extraction_strategy is not None and not isinstance( - self.extraction_strategy, ExtractionStrategy - ): - raise ValueError( - "extraction_strategy must be an instance of ExtractionStrategy" - ) - if self.chunking_strategy is not None and not isinstance( - self.chunking_strategy, ChunkingStrategy - ): - raise ValueError( - "chunking_strategy must be an instance of ChunkingStrategy" - ) - - # Set default chunking strategy if None - if self.chunking_strategy is None: - self.chunking_strategy = RegexChunking() - - # Deep Crawl Parameters - self.deep_crawl_strategy = deep_crawl_strategy - - # Experimental Parameters - self.experimental = experimental or {} - - - def __getattr__(self, name): - """Handle attribute access.""" - if name in self._UNWANTED_PROPS: - raise AttributeError(f"Getting '{name}' is deprecated. {self._UNWANTED_PROPS[name]}") - raise AttributeError(f"'{self.__class__.__name__}' has no attribute '{name}'") - - def __setattr__(self, name, value): - """Handle attribute setting.""" - # TODO: Planning to set properties dynamically based on the __init__ signature - sig = inspect.signature(self.__init__) - all_params = sig.parameters # Dictionary of parameter names and their details - - if name in self._UNWANTED_PROPS and value is not all_params[name].default: - raise AttributeError(f"Setting '{name}' is deprecated. {self._UNWANTED_PROPS[name]}") - - super().__setattr__(name, value) - - @staticmethod - def from_kwargs(kwargs: dict) -> "CrawlerRunConfig": - return CrawlerRunConfig( - # Content Processing Parameters - word_count_threshold=kwargs.get("word_count_threshold", 200), - extraction_strategy=kwargs.get("extraction_strategy"), - chunking_strategy=kwargs.get("chunking_strategy", RegexChunking()), - markdown_generator=kwargs.get("markdown_generator"), - only_text=kwargs.get("only_text", False), - css_selector=kwargs.get("css_selector"), - target_elements=kwargs.get("target_elements", []), - excluded_tags=kwargs.get("excluded_tags", []), - excluded_selector=kwargs.get("excluded_selector", ""), - keep_data_attributes=kwargs.get("keep_data_attributes", False), - keep_attrs=kwargs.get("keep_attrs", []), - remove_forms=kwargs.get("remove_forms", False), - prettiify=kwargs.get("prettiify", False), - parser_type=kwargs.get("parser_type", "lxml"), - scraping_strategy=kwargs.get("scraping_strategy"), - proxy_config=kwargs.get("proxy_config"), - proxy_rotation_strategy=kwargs.get("proxy_rotation_strategy"), - # Browser Location and Identity Parameters - locale=kwargs.get("locale", None), - timezone_id=kwargs.get("timezone_id", None), - geolocation=kwargs.get("geolocation", None), - # SSL Parameters - fetch_ssl_certificate=kwargs.get("fetch_ssl_certificate", False), - # Caching Parameters - cache_mode=kwargs.get("cache_mode", CacheMode.BYPASS), - session_id=kwargs.get("session_id"), - bypass_cache=kwargs.get("bypass_cache", False), - disable_cache=kwargs.get("disable_cache", False), - no_cache_read=kwargs.get("no_cache_read", False), - no_cache_write=kwargs.get("no_cache_write", False), - shared_data=kwargs.get("shared_data", None), - # Page Navigation and Timing Parameters - wait_until=kwargs.get("wait_until", "domcontentloaded"), - page_timeout=kwargs.get("page_timeout", 60000), - wait_for=kwargs.get("wait_for"), - wait_for_timeout=kwargs.get("wait_for_timeout"), - wait_for_images=kwargs.get("wait_for_images", False), - delay_before_return_html=kwargs.get("delay_before_return_html", 0.1), - mean_delay=kwargs.get("mean_delay", 0.1), - max_range=kwargs.get("max_range", 0.3), - semaphore_count=kwargs.get("semaphore_count", 5), - # Page Interaction Parameters - js_code=kwargs.get("js_code"), - js_only=kwargs.get("js_only", False), - ignore_body_visibility=kwargs.get("ignore_body_visibility", True), - scan_full_page=kwargs.get("scan_full_page", False), - scroll_delay=kwargs.get("scroll_delay", 0.2), - process_iframes=kwargs.get("process_iframes", False), - remove_overlay_elements=kwargs.get("remove_overlay_elements", False), - simulate_user=kwargs.get("simulate_user", False), - override_navigator=kwargs.get("override_navigator", False), - magic=kwargs.get("magic", False), - adjust_viewport_to_content=kwargs.get("adjust_viewport_to_content", False), - # Media Handling Parameters - screenshot=kwargs.get("screenshot", False), - screenshot_wait_for=kwargs.get("screenshot_wait_for"), - screenshot_height_threshold=kwargs.get( - "screenshot_height_threshold", SCREENSHOT_HEIGHT_TRESHOLD - ), - pdf=kwargs.get("pdf", False), - capture_mhtml=kwargs.get("capture_mhtml", False), - image_description_min_word_threshold=kwargs.get( - "image_description_min_word_threshold", - IMAGE_DESCRIPTION_MIN_WORD_THRESHOLD, - ), - image_score_threshold=kwargs.get( - "image_score_threshold", IMAGE_SCORE_THRESHOLD - ), - table_score_threshold=kwargs.get("table_score_threshold", 7), - exclude_all_images=kwargs.get("exclude_all_images", False), - exclude_external_images=kwargs.get("exclude_external_images", False), - # Link and Domain Handling Parameters - exclude_social_media_domains=kwargs.get( - "exclude_social_media_domains", SOCIAL_MEDIA_DOMAINS - ), - exclude_external_links=kwargs.get("exclude_external_links", False), - exclude_social_media_links=kwargs.get("exclude_social_media_links", False), - exclude_domains=kwargs.get("exclude_domains", []), - exclude_internal_links=kwargs.get("exclude_internal_links", False), - # Debugging and Logging Parameters - verbose=kwargs.get("verbose", True), - log_console=kwargs.get("log_console", False), - # Network and Console Capturing Parameters - capture_network_requests=kwargs.get("capture_network_requests", False), - capture_console_messages=kwargs.get("capture_console_messages", False), - # Connection Parameters - method=kwargs.get("method", "GET"), - stream=kwargs.get("stream", False), - check_robots_txt=kwargs.get("check_robots_txt", False), - user_agent=kwargs.get("user_agent"), - user_agent_mode=kwargs.get("user_agent_mode"), - user_agent_generator_config=kwargs.get("user_agent_generator_config", {}), - # Deep Crawl Parameters - deep_crawl_strategy=kwargs.get("deep_crawl_strategy"), - url=kwargs.get("url"), - # Experimental Parameters - experimental=kwargs.get("experimental"), - ) - - # Create a funciton returns dict of the object - def dump(self) -> dict: - # Serialize the object to a dictionary - return to_serializable_dict(self) - - @staticmethod - def load(data: dict) -> "CrawlerRunConfig": - # Deserialize the object from a dictionary - config = from_serializable_dict(data) - if isinstance(config, CrawlerRunConfig): - return config - return CrawlerRunConfig.from_kwargs(config) - - def to_dict(self): - return { - "word_count_threshold": self.word_count_threshold, - "extraction_strategy": self.extraction_strategy, - "chunking_strategy": self.chunking_strategy, - "markdown_generator": self.markdown_generator, - "only_text": self.only_text, - "css_selector": self.css_selector, - "target_elements": self.target_elements, - "excluded_tags": self.excluded_tags, - "excluded_selector": self.excluded_selector, - "keep_data_attributes": self.keep_data_attributes, - "keep_attrs": self.keep_attrs, - "remove_forms": self.remove_forms, - "prettiify": self.prettiify, - "parser_type": self.parser_type, - "scraping_strategy": self.scraping_strategy, - "proxy_config": self.proxy_config, - "proxy_rotation_strategy": self.proxy_rotation_strategy, - "locale": self.locale, - "timezone_id": self.timezone_id, - "geolocation": self.geolocation, - "fetch_ssl_certificate": self.fetch_ssl_certificate, - "cache_mode": self.cache_mode, - "session_id": self.session_id, - "bypass_cache": self.bypass_cache, - "disable_cache": self.disable_cache, - "no_cache_read": self.no_cache_read, - "no_cache_write": self.no_cache_write, - "shared_data": self.shared_data, - "wait_until": self.wait_until, - "page_timeout": self.page_timeout, - "wait_for": self.wait_for, - "wait_for_timeout": self.wait_for_timeout, - "wait_for_images": self.wait_for_images, - "delay_before_return_html": self.delay_before_return_html, - "mean_delay": self.mean_delay, - "max_range": self.max_range, - "semaphore_count": self.semaphore_count, - "js_code": self.js_code, - "js_only": self.js_only, - "ignore_body_visibility": self.ignore_body_visibility, - "scan_full_page": self.scan_full_page, - "scroll_delay": self.scroll_delay, - "process_iframes": self.process_iframes, - "remove_overlay_elements": self.remove_overlay_elements, - "simulate_user": self.simulate_user, - "override_navigator": self.override_navigator, - "magic": self.magic, - "adjust_viewport_to_content": self.adjust_viewport_to_content, - "screenshot": self.screenshot, - "screenshot_wait_for": self.screenshot_wait_for, - "screenshot_height_threshold": self.screenshot_height_threshold, - "pdf": self.pdf, - "capture_mhtml": self.capture_mhtml, - "image_description_min_word_threshold": self.image_description_min_word_threshold, - "image_score_threshold": self.image_score_threshold, - "table_score_threshold": self.table_score_threshold, - "exclude_all_images": self.exclude_all_images, - "exclude_external_images": self.exclude_external_images, - "exclude_social_media_domains": self.exclude_social_media_domains, - "exclude_external_links": self.exclude_external_links, - "exclude_social_media_links": self.exclude_social_media_links, - "exclude_domains": self.exclude_domains, - "exclude_internal_links": self.exclude_internal_links, - "verbose": self.verbose, - "log_console": self.log_console, - "capture_network_requests": self.capture_network_requests, - "capture_console_messages": self.capture_console_messages, - "method": self.method, - "stream": self.stream, - "check_robots_txt": self.check_robots_txt, - "user_agent": self.user_agent, - "user_agent_mode": self.user_agent_mode, - "user_agent_generator_config": self.user_agent_generator_config, - "deep_crawl_strategy": self.deep_crawl_strategy, - "url": self.url, - "experimental": self.experimental, - } - - def clone(self, **kwargs): - """Create a copy of this configuration with updated values. - - Args: - **kwargs: Key-value pairs of configuration options to update - - Returns: - CrawlerRunConfig: A new instance with the specified updates - - Example: - ```python - # Create a new config with streaming enabled - stream_config = config.clone(stream=True) - - # Create a new config with multiple updates - new_config = config.clone( - stream=True, - cache_mode=CacheMode.BYPASS, - verbose=True - ) - ``` - """ - config_dict = self.to_dict() - config_dict.update(kwargs) - return CrawlerRunConfig.from_kwargs(config_dict) - - -class LLMConfig: - def __init__( - self, - provider: str = DEFAULT_PROVIDER, - api_token: Optional[str] = None, - base_url: Optional[str] = None, - temperature: Optional[float] = None, - max_tokens: Optional[int] = None, - top_p: Optional[float] = None, - frequency_penalty: Optional[float] = None, - presence_penalty: Optional[float] = None, - stop: Optional[List[str]] = None, - n: Optional[int] = None, - ): - """Configuaration class for LLM provider and API token.""" - self.provider = provider - if api_token and not api_token.startswith("env:"): - self.api_token = api_token - elif api_token and api_token.startswith("env:"): - self.api_token = os.getenv(api_token[4:]) - else: - # Check if given provider starts with any of key in PROVIDER_MODELS_PREFIXES - # If not, check if it is in PROVIDER_MODELS - prefixes = PROVIDER_MODELS_PREFIXES.keys() - if any(provider.startswith(prefix) for prefix in prefixes): - selected_prefix = next( - (prefix for prefix in prefixes if provider.startswith(prefix)), - None, - ) - self.api_token = PROVIDER_MODELS_PREFIXES.get(selected_prefix) - else: - self.provider = DEFAULT_PROVIDER - self.api_token = os.getenv(DEFAULT_PROVIDER_API_KEY) - self.base_url = base_url - self.temperature = temperature - self.max_tokens = max_tokens - self.top_p = top_p - self.frequency_penalty = frequency_penalty - self.presence_penalty = presence_penalty - self.stop = stop - self.n = n - - @staticmethod - def from_kwargs(kwargs: dict) -> "LLMConfig": - return LLMConfig( - provider=kwargs.get("provider", DEFAULT_PROVIDER), - api_token=kwargs.get("api_token"), - base_url=kwargs.get("base_url"), - temperature=kwargs.get("temperature"), - max_tokens=kwargs.get("max_tokens"), - top_p=kwargs.get("top_p"), - frequency_penalty=kwargs.get("frequency_penalty"), - presence_penalty=kwargs.get("presence_penalty"), - stop=kwargs.get("stop"), - n=kwargs.get("n") - ) - - def to_dict(self): - return { - "provider": self.provider, - "api_token": self.api_token, - "base_url": self.base_url, - "temperature": self.temperature, - "max_tokens": self.max_tokens, - "top_p": self.top_p, - "frequency_penalty": self.frequency_penalty, - "presence_penalty": self.presence_penalty, - "stop": self.stop, - "n": self.n - } - - def clone(self, **kwargs): - """Create a copy of this configuration with updated values. - - Args: - **kwargs: Key-value pairs of configuration options to update - - Returns: - llm_config: A new instance with the specified updates - """ - config_dict = self.to_dict() - config_dict.update(kwargs) - return LLMConfig.from_kwargs(config_dict) - - - -``` - - -## File: crawl4ai/async_crawler_strategy.py - -```py -from __future__ import annotations - -import asyncio -import base64 -import time -from abc import ABC, abstractmethod -from typing import Callable, Dict, Any, List, Union -from typing import Optional, AsyncGenerator, Final -import os -from playwright.async_api import Page, Error -from playwright.async_api import TimeoutError as PlaywrightTimeoutError -from io import BytesIO -from PIL import Image, ImageDraw, ImageFont -import hashlib -import uuid -from .js_snippet import load_js_script -from .models import AsyncCrawlResponse -from .config import SCREENSHOT_HEIGHT_TRESHOLD -from .async_configs import BrowserConfig, CrawlerRunConfig, HTTPCrawlerConfig -from .async_logger import AsyncLogger -from .ssl_certificate import SSLCertificate -from .user_agent_generator import ValidUAGenerator -from .browser_manager import BrowserManager - -import aiofiles -import aiohttp -import chardet -from aiohttp.client import ClientTimeout -from urllib.parse import urlparse -from types import MappingProxyType -import contextlib -from functools import partial - -class AsyncCrawlerStrategy(ABC): - """ - Abstract base class for crawler strategies. - Subclasses must implement the crawl method. - """ - - @abstractmethod - async def crawl(self, url: str, **kwargs) -> AsyncCrawlResponse: - pass # 4 + 3 - -class AsyncPlaywrightCrawlerStrategy(AsyncCrawlerStrategy): - """ - Crawler strategy using Playwright. - - Attributes: - browser_config (BrowserConfig): Configuration object containing browser settings. - logger (AsyncLogger): Logger instance for recording events and errors. - _downloaded_files (List[str]): List of downloaded file paths. - hooks (Dict[str, Callable]): Dictionary of hooks for custom behavior. - browser_manager (BrowserManager): Manager for browser creation and management. - - Methods: - __init__(self, browser_config=None, logger=None, **kwargs): - Initialize the AsyncPlaywrightCrawlerStrategy with a browser configuration. - __aenter__(self): - Start the browser and initialize the browser manager. - __aexit__(self, exc_type, exc_val, exc_tb): - Close the browser and clean up resources. - start(self): - Start the browser and initialize the browser manager. - close(self): - Close the browser and clean up resources. - kill_session(self, session_id): - Kill a browser session and clean up resources. - crawl(self, url, **kwargs): - Run the crawler for a single URL. - - """ - - def __init__( - self, browser_config: BrowserConfig = None, logger: AsyncLogger = None, **kwargs - ): - """ - Initialize the AsyncPlaywrightCrawlerStrategy with a browser configuration. - - Args: - browser_config (BrowserConfig): Configuration object containing browser settings. - If None, will be created from kwargs for backwards compatibility. - logger: Logger instance for recording events and errors. - **kwargs: Additional arguments for backwards compatibility and extending functionality. - """ - # Initialize browser config, either from provided object or kwargs - self.browser_config = browser_config or BrowserConfig.from_kwargs(kwargs) - self.logger = logger - - # Initialize session management - self._downloaded_files = [] - - # Initialize hooks system - self.hooks = { - "on_browser_created": None, - "on_page_context_created": None, - "on_user_agent_updated": None, - "on_execution_started": None, - "on_execution_ended": None, - "before_goto": None, - "after_goto": None, - "before_return_html": None, - "before_retrieve_html": None, - } - - # Initialize browser manager with config - self.browser_manager = BrowserManager( - browser_config=self.browser_config, logger=self.logger - ) - - async def __aenter__(self): - await self.start() - return self - - async def __aexit__(self, exc_type, exc_val, exc_tb): - await self.close() - - async def start(self): - """ - Start the browser and initialize the browser manager. - """ - await self.browser_manager.start() - await self.execute_hook( - "on_browser_created", - self.browser_manager.browser, - context=self.browser_manager.default_context, - ) - - async def close(self): - """ - Close the browser and clean up resources. - """ - await self.browser_manager.close() - # Explicitly reset the static Playwright instance - BrowserManager._playwright_instance = None - - async def kill_session(self, session_id: str): - """ - Kill a browser session and clean up resources. - - Args: - session_id (str): The ID of the session to kill. - - Returns: - None - """ - # Log a warning message and no need kill session, in new version auto kill session - self.logger.warning( - message="Session auto-kill is enabled in the new version. No need to manually kill sessions.", - tag="WARNING", - ) - await self.browser_manager.kill_session(session_id) - - def set_hook(self, hook_type: str, hook: Callable): - """ - Set a hook function for a specific hook type. Following are list of hook types: - - on_browser_created: Called when a new browser instance is created. - - on_page_context_created: Called when a new page context is created. - - on_user_agent_updated: Called when the user agent is updated. - - on_execution_started: Called when the execution starts. - - before_goto: Called before a goto operation. - - after_goto: Called after a goto operation. - - before_return_html: Called before returning HTML content. - - before_retrieve_html: Called before retrieving HTML content. - - All hooks except on_browser_created accepts a context and a page as arguments and **kwargs. However, on_browser_created accepts a browser and a context as arguments and **kwargs. - - Args: - hook_type (str): The type of the hook. - hook (Callable): The hook function to set. - - Returns: - None - """ - if hook_type in self.hooks: - self.hooks[hook_type] = hook - else: - raise ValueError(f"Invalid hook type: {hook_type}") - - async def execute_hook(self, hook_type: str, *args, **kwargs): - """ - Execute a hook function for a specific hook type. - - Args: - hook_type (str): The type of the hook. - *args: Variable length positional arguments. - **kwargs: Keyword arguments. - - Returns: - The return value of the hook function, if any. - """ - hook = self.hooks.get(hook_type) - if hook: - if asyncio.iscoroutinefunction(hook): - return await hook(*args, **kwargs) - else: - return hook(*args, **kwargs) - return args[0] if args else None - - def update_user_agent(self, user_agent: str): - """ - Update the user agent for the browser. - - Args: - user_agent (str): The new user agent string. - - Returns: - None - """ - self.user_agent = user_agent - - def set_custom_headers(self, headers: Dict[str, str]): - """ - Set custom headers for the browser. - - Args: - headers (Dict[str, str]): A dictionary of headers to set. - - Returns: - None - """ - self.headers = headers - - async def smart_wait(self, page: Page, wait_for: str, timeout: float = 30000): - """ - Wait for a condition in a smart way. This functions works as below: - - 1. If wait_for starts with 'js:', it assumes it's a JavaScript function and waits for it to return true. - 2. If wait_for starts with 'css:', it assumes it's a CSS selector and waits for it to be present. - 3. Otherwise, it tries to evaluate wait_for as a JavaScript function and waits for it to return true. - 4. If it's not a JavaScript function, it assumes it's a CSS selector and waits for it to be present. - - This is a more advanced version of the wait_for parameter in CrawlerStrategy.crawl(). - Args: - page: Playwright page object - wait_for (str): The condition to wait for. Can be a CSS selector, a JavaScript function, or explicitly prefixed with 'js:' or 'css:'. - timeout (float): Maximum time to wait in milliseconds - - Returns: - None - """ - wait_for = wait_for.strip() - - if wait_for.startswith("js:"): - # Explicitly specified JavaScript - js_code = wait_for[3:].strip() - return await self.csp_compliant_wait(page, js_code, timeout) - elif wait_for.startswith("css:"): - # Explicitly specified CSS selector - css_selector = wait_for[4:].strip() - try: - await page.wait_for_selector(css_selector, timeout=timeout) - except Error as e: - if "Timeout" in str(e): - raise TimeoutError( - f"Timeout after {timeout}ms waiting for selector '{css_selector}'" - ) - else: - raise ValueError(f"Invalid CSS selector: '{css_selector}'") - else: - # Auto-detect based on content - if wait_for.startswith("()") or wait_for.startswith("function"): - # It's likely a JavaScript function - return await self.csp_compliant_wait(page, wait_for, timeout) - else: - # Assume it's a CSS selector first - try: - await page.wait_for_selector(wait_for, timeout=timeout) - except Error as e: - if "Timeout" in str(e): - raise TimeoutError( - f"Timeout after {timeout}ms waiting for selector '{wait_for}'" - ) - else: - # If it's not a timeout error, it might be an invalid selector - # Let's try to evaluate it as a JavaScript function as a fallback - try: - return await self.csp_compliant_wait( - page, f"() => {{{wait_for}}}", timeout - ) - except Error: - raise ValueError( - f"Invalid wait_for parameter: '{wait_for}'. " - "It should be either a valid CSS selector, a JavaScript function, " - "or explicitly prefixed with 'js:' or 'css:'." - ) - - async def csp_compliant_wait( - self, page: Page, user_wait_function: str, timeout: float = 30000 - ): - """ - Wait for a condition in a CSP-compliant way. - - Args: - page: Playwright page object - user_wait_function: JavaScript function as string that returns boolean - timeout: Maximum time to wait in milliseconds - - Returns: - bool: True if condition was met, False if timed out - - Raises: - RuntimeError: If there's an error evaluating the condition - """ - wrapper_js = f""" - async () => {{ - const userFunction = {user_wait_function}; - const startTime = Date.now(); - try {{ - while (true) {{ - if (await userFunction()) {{ - return true; - }} - if (Date.now() - startTime > {timeout}) {{ - return false; // Return false instead of throwing - }} - await new Promise(resolve => setTimeout(resolve, 100)); - }} - }} catch (error) {{ - throw new Error(`Error evaluating condition: ${{error.message}}`); - }} - }} - """ - - try: - result = await page.evaluate(wrapper_js) - return result - except Exception as e: - if "Error evaluating condition" in str(e): - raise RuntimeError(f"Failed to evaluate wait condition: {str(e)}") - # For timeout or other cases, just return False - return False - - async def process_iframes(self, page): - """ - Process iframes on a page. This function will extract the content of each iframe and replace it with a div containing the extracted content. - - Args: - page: Playwright page object - - Returns: - Playwright page object - """ - # Find all iframes - iframes = await page.query_selector_all("iframe") - - for i, iframe in enumerate(iframes): - try: - # Add a unique identifier to the iframe - await iframe.evaluate(f'(element) => element.id = "iframe-{i}"') - - # Get the frame associated with this iframe - frame = await iframe.content_frame() - - if frame: - # Wait for the frame to load - await frame.wait_for_load_state( - "load", timeout=30000 - ) # 30 seconds timeout - - # Extract the content of the iframe's body - iframe_content = await frame.evaluate( - "() => document.body.innerHTML" - ) - - # Generate a unique class name for this iframe - class_name = f"extracted-iframe-content-{i}" - - # Replace the iframe with a div containing the extracted content - _iframe = iframe_content.replace("`", "\\`") - await page.evaluate( - f""" - () => {{ - const iframe = document.getElementById('iframe-{i}'); - const div = document.createElement('div'); - div.innerHTML = `{_iframe}`; - div.className = '{class_name}'; - iframe.replaceWith(div); - }} - """ - ) - else: - self.logger.warning( - message="Could not access content frame for iframe {index}", - tag="SCRAPE", - params={"index": i}, - ) - except Exception as e: - self.logger.error( - message="Error processing iframe {index}: {error}", - tag="ERROR", - params={"index": i, "error": str(e)}, - ) - - # Return the page object - return page - - async def create_session(self, **kwargs) -> str: - """ - Creates a new browser session and returns its ID. A browse session is a unique openned page can be reused for multiple crawls. - This function is asynchronous and returns a string representing the session ID. - - Args: - **kwargs: Optional keyword arguments to configure the session. - - Returns: - str: The session ID. - """ - await self.start() - - session_id = kwargs.get("session_id") or str(uuid.uuid4()) - - user_agent = kwargs.get("user_agent", self.user_agent) - # Use browser_manager to get a fresh page & context assigned to this session_id - page, context = await self.browser_manager.get_page(CrawlerRunConfig( - session_id=session_id, - user_agent=user_agent, - **kwargs, - )) - return session_id - - async def crawl( - self, url: str, config: CrawlerRunConfig, **kwargs - ) -> AsyncCrawlResponse: - """ - Crawls a given URL or processes raw HTML/local file content based on the URL prefix. - - Args: - url (str): The URL to crawl. Supported prefixes: - - 'http://' or 'https://': Web URL to crawl. - - 'file://': Local file path to process. - - 'raw://': Raw HTML content to process. - **kwargs: Additional parameters: - - 'screenshot' (bool): Whether to take a screenshot. - - ... [other existing parameters] - - Returns: - AsyncCrawlResponse: The response containing HTML, headers, status code, and optional screenshot. - """ - config = config or CrawlerRunConfig.from_kwargs(kwargs) - response_headers = {} - status_code = 200 # Default for local/raw HTML - screenshot_data = None - - if url.startswith(("http://", "https://", "view-source:")): - return await self._crawl_web(url, config) - - elif url.startswith("file://"): - # Process local file - local_file_path = url[7:] # Remove 'file://' prefix - if not os.path.exists(local_file_path): - raise FileNotFoundError(f"Local file not found: {local_file_path}") - with open(local_file_path, "r", encoding="utf-8") as f: - html = f.read() - if config.screenshot: - screenshot_data = await self._generate_screenshot_from_html(html) - if config.capture_console_messages: - page, context = await self.browser_manager.get_page(crawlerRunConfig=config) - captured_console = await self._capture_console_messages(page, url) - - return AsyncCrawlResponse( - html=html, - response_headers=response_headers, - status_code=status_code, - screenshot=screenshot_data, - get_delayed_content=None, - console_messages=captured_console, - ) - - elif url.startswith("raw:") or url.startswith("raw://"): - # Process raw HTML content - raw_html = url[4:] if url[:4] == "raw:" else url[7:] - html = raw_html - if config.screenshot: - screenshot_data = await self._generate_screenshot_from_html(html) - return AsyncCrawlResponse( - html=html, - response_headers=response_headers, - status_code=status_code, - screenshot=screenshot_data, - get_delayed_content=None, - ) - else: - raise ValueError( - "URL must start with 'http://', 'https://', 'file://', or 'raw:'" - ) - - async def _crawl_web( - self, url: str, config: CrawlerRunConfig - ) -> AsyncCrawlResponse: - """ - Internal method to crawl web URLs with the specified configuration. - Includes optional network and console capturing. - - Args: - url (str): The web URL to crawl - config (CrawlerRunConfig): Configuration object controlling the crawl behavior - - Returns: - AsyncCrawlResponse: The response containing HTML, headers, status code, and optional data - """ - config.url = url - response_headers = {} - execution_result = None - status_code = None - redirected_url = url - - # Reset downloaded files list for new crawl - self._downloaded_files = [] - - # Initialize capture lists - captured_requests = [] - captured_console = [] - - # Handle user agent with magic mode - user_agent_to_override = config.user_agent - if user_agent_to_override: - self.browser_config.user_agent = user_agent_to_override - elif config.magic or config.user_agent_mode == "random": - self.browser_config.user_agent = ValidUAGenerator().generate( - **(config.user_agent_generator_config or {}) - ) - - # Get page for session - page, context = await self.browser_manager.get_page(crawlerRunConfig=config) - - # await page.goto(URL) - - # Add default cookie - # await context.add_cookies( - # [{"name": "cookiesEnabled", "value": "true", "url": url}] - # ) - - # Handle navigator overrides - if config.override_navigator or config.simulate_user or config.magic: - await context.add_init_script(load_js_script("navigator_overrider")) - - # Call hook after page creation - await self.execute_hook("on_page_context_created", page, context=context, config=config) - - # Network Request Capturing - if config.capture_network_requests: - async def handle_request_capture(request): - try: - post_data_str = None - try: - # Be cautious with large post data - post_data = request.post_data_buffer - if post_data: - # Attempt to decode, fallback to base64 or size indication - try: - post_data_str = post_data.decode('utf-8', errors='replace') - except UnicodeDecodeError: - post_data_str = f"[Binary data: {len(post_data)} bytes]" - except Exception: - post_data_str = "[Error retrieving post data]" - - captured_requests.append({ - "event_type": "request", - "url": request.url, - "method": request.method, - "headers": dict(request.headers), # Convert Header dict - "post_data": post_data_str, - "resource_type": request.resource_type, - "is_navigation_request": request.is_navigation_request(), - "timestamp": time.time() - }) - except Exception as e: - if self.logger: - self.logger.warning(f"Error capturing request details for {request.url}: {e}", tag="CAPTURE") - captured_requests.append({"event_type": "request_capture_error", "url": request.url, "error": str(e), "timestamp": time.time()}) - - async def handle_response_capture(response): - try: - try: - # body = await response.body() - # json_body = await response.json() - text_body = await response.text() - except Exception as e: - body = None - # json_body = None - # text_body = None - captured_requests.append({ - "event_type": "response", - "url": response.url, - "status": response.status, - "status_text": response.status_text, - "headers": dict(response.headers), # Convert Header dict - "from_service_worker": response.from_service_worker, - "request_timing": response.request.timing, # Detailed timing info - "timestamp": time.time(), - "body" : { - # "raw": body, - # "json": json_body, - "text": text_body - } - }) - except Exception as e: - if self.logger: - self.logger.warning(f"Error capturing response details for {response.url}: {e}", tag="CAPTURE") - captured_requests.append({"event_type": "response_capture_error", "url": response.url, "error": str(e), "timestamp": time.time()}) - - async def handle_request_failed_capture(request): - try: - captured_requests.append({ - "event_type": "request_failed", - "url": request.url, - "method": request.method, - "resource_type": request.resource_type, - "failure_text": str(request.failure) if request.failure else "Unknown failure", - "timestamp": time.time() - }) - except Exception as e: - if self.logger: - self.logger.warning(f"Error capturing request failed details for {request.url}: {e}", tag="CAPTURE") - captured_requests.append({"event_type": "request_failed_capture_error", "url": request.url, "error": str(e), "timestamp": time.time()}) - - page.on("request", handle_request_capture) - page.on("response", handle_response_capture) - page.on("requestfailed", handle_request_failed_capture) - - # Console Message Capturing - if config.capture_console_messages: - def handle_console_capture(msg): - try: - message_type = "unknown" - try: - message_type = msg.type - except: - pass - - message_text = "unknown" - try: - message_text = msg.text - except: - pass - - # Basic console message with minimal content - entry = { - "type": message_type, - "text": message_text, - "timestamp": time.time() - } - - captured_console.append(entry) - - except Exception as e: - if self.logger: - self.logger.warning(f"Error capturing console message: {e}", tag="CAPTURE") - # Still add something to the list even on error - captured_console.append({ - "type": "console_capture_error", - "error": str(e), - "timestamp": time.time() - }) - - def handle_pageerror_capture(err): - try: - error_message = "Unknown error" - try: - error_message = err.message - except: - pass - - error_stack = "" - try: - error_stack = err.stack - except: - pass - - captured_console.append({ - "type": "error", - "text": error_message, - "stack": error_stack, - "timestamp": time.time() - }) - except Exception as e: - if self.logger: - self.logger.warning(f"Error capturing page error: {e}", tag="CAPTURE") - captured_console.append({ - "type": "pageerror_capture_error", - "error": str(e), - "timestamp": time.time() - }) - - # Add event listeners directly - page.on("console", handle_console_capture) - page.on("pageerror", handle_pageerror_capture) - - # Set up console logging if requested - if config.log_console: - def log_consol( - msg, console_log_type="debug" - ): # Corrected the parameter syntax - if console_log_type == "error": - self.logger.error( - message=f"Console error: {msg}", # Use f-string for variable interpolation - tag="CONSOLE" - ) - elif console_log_type == "debug": - self.logger.debug( - message=f"Console: {msg}", # Use f-string for variable interpolation - tag="CONSOLE" - ) - - page.on("console", log_consol) - page.on("pageerror", lambda e: log_consol(e, "error")) - - try: - # Get SSL certificate information if requested and URL is HTTPS - ssl_cert = None - if config.fetch_ssl_certificate: - ssl_cert = SSLCertificate.from_url(url) - - # Set up download handling - if self.browser_config.accept_downloads: - page.on( - "download", - lambda download: asyncio.create_task( - self._handle_download(download) - ), - ) - - # Handle page navigation and content loading - if not config.js_only: - await self.execute_hook("before_goto", page, context=context, url=url, config=config) - - try: - # Generate a unique nonce for this request - if config.experimental.get("use_csp_nonce", False): - nonce = hashlib.sha256(os.urandom(32)).hexdigest() - - # Add CSP headers to the request - await page.set_extra_http_headers( - { - "Content-Security-Policy": f"default-src 'self'; script-src 'self' 'nonce-{nonce}' 'strict-dynamic'" - } - ) - - response = await page.goto( - url, wait_until=config.wait_until, timeout=config.page_timeout - ) - redirected_url = page.url - except Error as e: - raise RuntimeError(f"Failed on navigating ACS-GOTO:\n{str(e)}") - - await self.execute_hook( - "after_goto", page, context=context, url=url, response=response, config=config - ) - - if response is None: - status_code = 200 - response_headers = {} - else: - status_code = response.status - response_headers = response.headers - - else: - status_code = 200 - response_headers = {} - - # Wait for body element and visibility - try: - await page.wait_for_selector("body", state="attached", timeout=30000) - - # Use the new check_visibility function with csp_compliant_wait - is_visible = await self.csp_compliant_wait( - page, - """() => { - const element = document.body; - if (!element) return false; - const style = window.getComputedStyle(element); - const isVisible = style.display !== 'none' && - style.visibility !== 'hidden' && - style.opacity !== '0'; - return isVisible; - }""", - timeout=30000, - ) - - if not is_visible and not config.ignore_body_visibility: - visibility_info = await self.check_visibility(page) - raise Error(f"Body element is hidden: {visibility_info}") - - except Error: - visibility_info = await self.check_visibility(page) - - if self.browser_config.config.verbose: - self.logger.debug( - message="Body visibility info: {info}", - tag="DEBUG", - params={"info": visibility_info}, - ) - - if not config.ignore_body_visibility: - raise Error(f"Body element is hidden: {visibility_info}") - - # try: - # await page.wait_for_selector("body", state="attached", timeout=30000) - - # await page.wait_for_function( - # """ - # () => { - # const body = document.body; - # const style = window.getComputedStyle(body); - # return style.display !== 'none' && - # style.visibility !== 'hidden' && - # style.opacity !== '0'; - # } - # """, - # timeout=30000, - # ) - # except Error as e: - # visibility_info = await page.evaluate( - # """ - # () => { - # const body = document.body; - # const style = window.getComputedStyle(body); - # return { - # display: style.display, - # visibility: style.visibility, - # opacity: style.opacity, - # hasContent: body.innerHTML.length, - # classList: Array.from(body.classList) - # } - # } - # """ - # ) - - # if self.config.verbose: - # self.logger.debug( - # message="Body visibility info: {info}", - # tag="DEBUG", - # params={"info": visibility_info}, - # ) - - # if not config.ignore_body_visibility: - # raise Error(f"Body element is hidden: {visibility_info}") - - # Handle content loading and viewport adjustment - if not self.browser_config.text_mode and ( - config.wait_for_images or config.adjust_viewport_to_content - ): - await page.wait_for_load_state("domcontentloaded") - await asyncio.sleep(0.1) - - # Check for image loading with improved error handling - images_loaded = await self.csp_compliant_wait( - page, - "() => Array.from(document.getElementsByTagName('img')).every(img => img.complete)", - timeout=1000, - ) - - if not images_loaded and self.logger: - self.logger.warning( - message="Some images failed to load within timeout", - tag="SCRAPE", - ) - - # Adjust viewport if needed - if not self.browser_config.text_mode and config.adjust_viewport_to_content: - try: - dimensions = await self.get_page_dimensions(page) - page_height = dimensions["height"] - page_width = dimensions["width"] - # page_width = await page.evaluate( - # "document.documentElement.scrollWidth" - # ) - # page_height = await page.evaluate( - # "document.documentElement.scrollHeight" - # ) - - target_width = self.browser_config.viewport_width - target_height = int(target_width * page_width / page_height * 0.95) - await page.set_viewport_size( - {"width": target_width, "height": target_height} - ) - - scale = min(target_width / page_width, target_height / page_height) - cdp = await page.context.new_cdp_session(page) - await cdp.send( - "Emulation.setDeviceMetricsOverride", - { - "width": page_width, - "height": page_height, - "deviceScaleFactor": 1, - "mobile": False, - "scale": scale, - }, - ) - except Exception as e: - self.logger.warning( - message="Failed to adjust viewport to content: {error}", - tag="VIEWPORT", - params={"error": str(e)}, - ) - - # Handle full page scanning - if config.scan_full_page: - await self._handle_full_page_scan(page, config.scroll_delay) - - # Execute JavaScript if provided - # if config.js_code: - # if isinstance(config.js_code, str): - # await page.evaluate(config.js_code) - # elif isinstance(config.js_code, list): - # for js in config.js_code: - # await page.evaluate(js) - - if config.js_code: - # execution_result = await self.execute_user_script(page, config.js_code) - execution_result = await self.robust_execute_user_script( - page, config.js_code - ) - - if not execution_result["success"]: - self.logger.warning( - message="User script execution had issues: {error}", - tag="JS_EXEC", - params={"error": execution_result.get("error")}, - ) - - await self.execute_hook("on_execution_started", page, context=context, config=config) - await self.execute_hook("on_execution_ended", page, context=context, config=config, result=execution_result) - - # Handle user simulation - if config.simulate_user or config.magic: - await page.mouse.move(100, 100) - await page.mouse.down() - await page.mouse.up() - await page.keyboard.press("ArrowDown") - - # Handle wait_for condition - # Todo: Decide how to handle this - if not config.wait_for and config.css_selector and False: - # if not config.wait_for and config.css_selector: - config.wait_for = f"css:{config.css_selector}" - - if config.wait_for: - try: - # Use wait_for_timeout if specified, otherwise fall back to page_timeout - timeout = config.wait_for_timeout if config.wait_for_timeout is not None else config.page_timeout - await self.smart_wait( - page, config.wait_for, timeout=timeout - ) - except Exception as e: - raise RuntimeError(f"Wait condition failed: {str(e)}") - - # Update image dimensions if needed - if not self.browser_config.text_mode: - update_image_dimensions_js = load_js_script("update_image_dimensions") - try: - try: - await page.wait_for_load_state("domcontentloaded", timeout=5) - except PlaywrightTimeoutError: - pass - await page.evaluate(update_image_dimensions_js) - except Exception as e: - self.logger.error( - message="Error updating image dimensions: {error}", - tag="ERROR", - params={"error": str(e)}, - ) - - # Process iframes if needed - if config.process_iframes: - page = await self.process_iframes(page) - - # Pre-content retrieval hooks and delay - await self.execute_hook("before_retrieve_html", page, context=context, config=config) - if config.delay_before_return_html: - await asyncio.sleep(config.delay_before_return_html) - - # Handle overlay removal - if config.remove_overlay_elements: - await self.remove_overlay_elements(page) - - if config.css_selector: - try: - # Handle comma-separated selectors by splitting them - selectors = [s.strip() for s in config.css_selector.split(',')] - html_parts = [] - - for selector in selectors: - try: - content = await page.evaluate( - f"""Array.from(document.querySelectorAll("{selector}")) - .map(el => el.outerHTML) - .join('')""" - ) - html_parts.append(content) - except Error as e: - print(f"Warning: Could not get content for selector '{selector}': {str(e)}") - - # Wrap in a div to create a valid HTML structure - html = f"
\n" + "\n".join(html_parts) + "\n
" - except Error as e: - raise RuntimeError(f"Failed to extract HTML content: {str(e)}") - else: - html = await page.content() - - # # Get final HTML content - # html = await page.content() - await self.execute_hook( - "before_return_html", page=page, html=html, context=context, config=config - ) - - # Handle PDF, MHTML and screenshot generation - start_export_time = time.perf_counter() - pdf_data = None - screenshot_data = None - mhtml_data = None - - if config.pdf: - pdf_data = await self.export_pdf(page) - - if config.capture_mhtml: - mhtml_data = await self.capture_mhtml(page) - - if config.screenshot: - if config.screenshot_wait_for: - await asyncio.sleep(config.screenshot_wait_for) - screenshot_data = await self.take_screenshot( - page, screenshot_height_threshold=config.screenshot_height_threshold - ) - - if screenshot_data or pdf_data or mhtml_data: - self.logger.info( - message="Exporting media (PDF/MHTML/screenshot) took {duration:.2f}s", - tag="EXPORT", - params={"duration": time.perf_counter() - start_export_time}, - ) - - # Define delayed content getter - async def get_delayed_content(delay: float = 5.0) -> str: - self.logger.info( - message="Waiting for {delay} seconds before retrieving content for {url}", - tag="INFO", - params={"delay": delay, "url": url}, - ) - await asyncio.sleep(delay) - return await page.content() - - # Return complete response - return AsyncCrawlResponse( - html=html, - response_headers=response_headers, - js_execution_result=execution_result, - status_code=status_code, - screenshot=screenshot_data, - pdf_data=pdf_data, - mhtml_data=mhtml_data, - get_delayed_content=get_delayed_content, - ssl_certificate=ssl_cert, - downloaded_files=( - self._downloaded_files if self._downloaded_files else None - ), - redirected_url=redirected_url, - # Include captured data if enabled - network_requests=captured_requests if config.capture_network_requests else None, - console_messages=captured_console if config.capture_console_messages else None, - ) - - except Exception as e: - raise e - - finally: - # If no session_id is given we should close the page - all_contexts = page.context.browser.contexts - total_pages = sum(len(context.pages) for context in all_contexts) - if config.session_id: - pass - elif total_pages <= 1 and (self.browser_config.use_managed_browser or self.browser_config.headless): - pass - else: - # Detach listeners before closing to prevent potential errors during close - if config.capture_network_requests: - page.remove_listener("request", handle_request_capture) - page.remove_listener("response", handle_response_capture) - page.remove_listener("requestfailed", handle_request_failed_capture) - if config.capture_console_messages: - page.remove_listener("console", handle_console_capture) - page.remove_listener("pageerror", handle_pageerror_capture) - - # Close the page - await page.close() - - async def _handle_full_page_scan(self, page: Page, scroll_delay: float = 0.1): - """ - Helper method to handle full page scanning. - - How it works: - 1. Get the viewport height. - 2. Scroll to the bottom of the page. - 3. Get the total height of the page. - 4. Scroll back to the top of the page. - 5. Scroll to the bottom of the page again. - 6. Continue scrolling until the bottom of the page is reached. - - Args: - page (Page): The Playwright page object - scroll_delay (float): The delay between page scrolls - - """ - try: - viewport_size = page.viewport_size - if viewport_size is None: - await page.set_viewport_size( - {"width": self.browser_config.viewport_width, "height": self.browser_config.viewport_height} - ) - viewport_size = page.viewport_size - - viewport_height = viewport_size.get( - "height", self.browser_config.viewport_height - ) - current_position = viewport_height - - # await page.evaluate(f"window.scrollTo(0, {current_position})") - await self.safe_scroll(page, 0, current_position, delay=scroll_delay) - # await self.csp_scroll_to(page, 0, current_position) - # await asyncio.sleep(scroll_delay) - - # total_height = await page.evaluate("document.documentElement.scrollHeight") - dimensions = await self.get_page_dimensions(page) - total_height = dimensions["height"] - - while current_position < total_height: - current_position = min(current_position + viewport_height, total_height) - await self.safe_scroll(page, 0, current_position, delay=scroll_delay) - # await page.evaluate(f"window.scrollTo(0, {current_position})") - # await asyncio.sleep(scroll_delay) - - # new_height = await page.evaluate("document.documentElement.scrollHeight") - dimensions = await self.get_page_dimensions(page) - new_height = dimensions["height"] - - if new_height > total_height: - total_height = new_height - - # await page.evaluate("window.scrollTo(0, 0)") - await self.safe_scroll(page, 0, 0) - - except Exception as e: - self.logger.warning( - message="Failed to perform full page scan: {error}", - tag="PAGE_SCAN", - params={"error": str(e)}, - ) - else: - # await page.evaluate("window.scrollTo(0, document.body.scrollHeight)") - await self.safe_scroll(page, 0, total_height) - - async def _handle_download(self, download): - """ - Handle file downloads. - - How it works: - 1. Get the suggested filename. - 2. Get the download path. - 3. Log the download. - 4. Start the download. - 5. Save the downloaded file. - 6. Log the completion. - - Args: - download (Download): The Playwright download object - - Returns: - None - """ - try: - suggested_filename = download.suggested_filename - download_path = os.path.join(self.browser_config.downloads_path, suggested_filename) - - self.logger.info( - message="Downloading {filename} to {path}", - tag="FETCH", - params={"filename": suggested_filename, "path": download_path}, - ) - - start_time = time.perf_counter() - await download.save_as(download_path) - end_time = time.perf_counter() - self._downloaded_files.append(download_path) - - self.logger.success( - message="Downloaded {filename} successfully", - tag="COMPLETE", - params={ - "filename": suggested_filename, - "path": download_path, - "duration": f"{end_time - start_time:.2f}s", - }, - ) - except Exception as e: - self.logger.error( - message="Failed to handle download: {error}", - tag="ERROR", - params={"error": str(e)}, - ) - - async def remove_overlay_elements(self, page: Page) -> None: - """ - Removes popup overlays, modals, cookie notices, and other intrusive elements from the page. - - Args: - page (Page): The Playwright page instance - """ - remove_overlays_js = load_js_script("remove_overlay_elements") - - try: - await page.evaluate( - f""" - (() => {{ - try {{ - {remove_overlays_js} - return {{ success: true }}; - }} catch (error) {{ - return {{ - success: false, - error: error.toString(), - stack: error.stack - }}; - }} - }})() - """ - ) - await page.wait_for_timeout(500) # Wait for any animations to complete - except Exception as e: - self.logger.warning( - message="Failed to remove overlay elements: {error}", - tag="SCRAPE", - params={"error": str(e)}, - ) - - async def export_pdf(self, page: Page) -> bytes: - """ - Exports the current page as a PDF. - - Args: - page (Page): The Playwright page object - - Returns: - bytes: The PDF data - """ - pdf_data = await page.pdf(print_background=True) - return pdf_data - - async def capture_mhtml(self, page: Page) -> Optional[str]: - """ - Captures the current page as MHTML using CDP. - - MHTML (MIME HTML) is a web page archive format that combines the HTML content - with its resources (images, CSS, etc.) into a single MIME-encoded file. - - Args: - page (Page): The Playwright page object - - Returns: - Optional[str]: The MHTML content as a string, or None if there was an error - """ - try: - # Ensure the page is fully loaded before capturing - try: - # Wait for DOM content and network to be idle - await page.wait_for_load_state("domcontentloaded", timeout=5000) - await page.wait_for_load_state("networkidle", timeout=5000) - - # Give a little extra time for JavaScript execution - await page.wait_for_timeout(1000) - - # Wait for any animations to complete - await page.evaluate(""" - () => new Promise(resolve => { - // First requestAnimationFrame gets scheduled after the next repaint - requestAnimationFrame(() => { - // Second requestAnimationFrame gets called after all animations complete - requestAnimationFrame(resolve); - }); - }) - """) - except Error as e: - if self.logger: - self.logger.warning( - message="Wait for load state timed out: {error}", - tag="MHTML", - params={"error": str(e)}, - ) - - # Create a new CDP session - cdp_session = await page.context.new_cdp_session(page) - - # Call Page.captureSnapshot with format "mhtml" - result = await cdp_session.send("Page.captureSnapshot", {"format": "mhtml"}) - - # The result contains a 'data' field with the MHTML content - mhtml_content = result.get("data") - - # Detach the CDP session to clean up resources - await cdp_session.detach() - - return mhtml_content - except Exception as e: - # Log the error but don't raise it - we'll just return None for the MHTML - if self.logger: - self.logger.error( - message="Failed to capture MHTML: {error}", - tag="MHTML", - params={"error": str(e)}, - ) - return None - - async def _capture_console_messages( - self, page: Page, file_path: str - ) -> List[Dict[str, Union[str, float]]]: - """ - Captures console messages from the page. - Args: - - page (Page): The Playwright page object - Returns: - List[Dict[str, Union[str, float]]]: A list of captured console messages - """ - captured_console = [] - - def handle_console_message(msg): - try: - message_type = msg.type - message_text = msg.text - - entry = { - "type": message_type, - "text": message_text, - "timestamp": time.time(), - } - captured_console.append(entry) - except Exception as e: - if self.logger: - self.logger.warning( - f"Error capturing console message: {e}", tag="CAPTURE" - ) - - page.on("console", handle_console_message) - - await page.goto(file_path) - - return captured_console - - async def take_screenshot(self, page, **kwargs) -> str: - """ - Take a screenshot of the current page. - - Args: - page (Page): The Playwright page object - kwargs: Additional keyword arguments - - Returns: - str: The base64-encoded screenshot data - """ - need_scroll = await self.page_need_scroll(page) - - if not need_scroll: - # Page is short enough, just take a screenshot - return await self.take_screenshot_naive(page) - else: - # Page is too long, try to take a full-page screenshot - return await self.take_screenshot_scroller(page, **kwargs) - # return await self.take_screenshot_from_pdf(await self.export_pdf(page)) - - async def take_screenshot_from_pdf(self, pdf_data: bytes) -> str: - """ - Convert the first page of the PDF to a screenshot. - - Requires pdf2image and poppler. - - Args: - pdf_data (bytes): The PDF data - - Returns: - str: The base64-encoded screenshot data - """ - try: - from pdf2image import convert_from_bytes - - images = convert_from_bytes(pdf_data) - final_img = images[0].convert("RGB") - buffered = BytesIO() - final_img.save(buffered, format="JPEG") - return base64.b64encode(buffered.getvalue()).decode("utf-8") - except Exception as e: - error_message = f"Failed to take PDF-based screenshot: {str(e)}" - self.logger.error( - message="PDF Screenshot failed: {error}", - tag="ERROR", - params={"error": error_message}, - ) - # Return error image as fallback - img = Image.new("RGB", (800, 600), color="black") - draw = ImageDraw.Draw(img) - font = ImageFont.load_default() - draw.text((10, 10), error_message, fill=(255, 255, 255), font=font) - buffered = BytesIO() - img.save(buffered, format="JPEG") - return base64.b64encode(buffered.getvalue()).decode("utf-8") - - async def take_screenshot_scroller(self, page: Page, **kwargs) -> str: - """ - Attempt to set a large viewport and take a full-page screenshot. - If still too large, segment the page as before. - - Requires pdf2image and poppler. - - Args: - page (Page): The Playwright page object - kwargs: Additional keyword arguments - - Returns: - str: The base64-encoded screenshot data - """ - try: - # Get page height - dimensions = await self.get_page_dimensions(page) - page_width = dimensions["width"] - page_height = dimensions["height"] - # page_height = await page.evaluate("document.documentElement.scrollHeight") - # page_width = await page.evaluate("document.documentElement.scrollWidth") - - # Set a large viewport - large_viewport_height = min( - page_height, - kwargs.get("screenshot_height_threshold", SCREENSHOT_HEIGHT_TRESHOLD), - ) - await page.set_viewport_size( - {"width": page_width, "height": large_viewport_height} - ) - - # Page still too long, segment approach - segments = [] - viewport_size = page.viewport_size - viewport_height = viewport_size["height"] - - num_segments = (page_height // viewport_height) + 1 - for i in range(num_segments): - y_offset = i * viewport_height - await page.evaluate(f"window.scrollTo(0, {y_offset})") - await asyncio.sleep(0.01) # wait for render - seg_shot = await page.screenshot(full_page=False) - img = Image.open(BytesIO(seg_shot)).convert("RGB") - segments.append(img) - - total_height = sum(img.height for img in segments) - stitched = Image.new("RGB", (segments[0].width, total_height)) - offset = 0 - for img in segments: - # stitched.paste(img, (0, offset)) - stitched.paste(img.convert("RGB"), (0, offset)) - offset += img.height - - buffered = BytesIO() - stitched = stitched.convert("RGB") - stitched.save(buffered, format="BMP", quality=85) - encoded = base64.b64encode(buffered.getvalue()).decode("utf-8") - - return encoded - except Exception as e: - error_message = f"Failed to take large viewport screenshot: {str(e)}" - self.logger.error( - message="Large viewport screenshot failed: {error}", - tag="ERROR", - params={"error": error_message}, - ) - # return error image - img = Image.new("RGB", (800, 600), color="black") - draw = ImageDraw.Draw(img) - font = ImageFont.load_default() - draw.text((10, 10), error_message, fill=(255, 255, 255), font=font) - buffered = BytesIO() - img.save(buffered, format="JPEG") - return base64.b64encode(buffered.getvalue()).decode("utf-8") - # finally: - # await page.close() - - async def take_screenshot_naive(self, page: Page) -> str: - """ - Takes a screenshot of the current page. - - Args: - page (Page): The Playwright page instance - - Returns: - str: Base64-encoded screenshot image - """ - try: - # The page is already loaded, just take the screenshot - screenshot = await page.screenshot(full_page=False) - return base64.b64encode(screenshot).decode("utf-8") - except Exception as e: - error_message = f"Failed to take screenshot: {str(e)}" - self.logger.error( - message="Screenshot failed: {error}", - tag="ERROR", - params={"error": error_message}, - ) - - # Generate an error image - img = Image.new("RGB", (800, 600), color="black") - draw = ImageDraw.Draw(img) - font = ImageFont.load_default() - draw.text((10, 10), error_message, fill=(255, 255, 255), font=font) - - buffered = BytesIO() - img.save(buffered, format="JPEG") - return base64.b64encode(buffered.getvalue()).decode("utf-8") - # finally: - # await page.close() - - async def export_storage_state(self, path: str = None) -> dict: - """ - Exports the current storage state (cookies, localStorage, sessionStorage) - to a JSON file at the specified path. - - Args: - path (str): The path to save the storage state JSON file - - Returns: - dict: The exported storage state - """ - if self.default_context: - state = await self.default_context.storage_state(path=path) - self.logger.info( - message="Exported storage state to {path}", - tag="INFO", - params={"path": path}, - ) - return state - else: - self.logger.warning( - message="No default_context available to export storage state.", - tag="WARNING", - ) - - async def robust_execute_user_script( - self, page: Page, js_code: Union[str, List[str]] - ) -> Dict[str, Any]: - """ - Executes user-provided JavaScript code with proper error handling and context, - supporting both synchronous and async user code, plus navigations. - - How it works: - 1. Wait for load state 'domcontentloaded' - 2. If js_code is a string, execute it directly - 3. If js_code is a list, execute each element in sequence - 4. Wait for load state 'networkidle' - 5. Return results - - Args: - page (Page): The Playwright page instance - js_code (Union[str, List[str]]): The JavaScript code to execute - - Returns: - Dict[str, Any]: The results of the execution - """ - try: - await page.wait_for_load_state("domcontentloaded") - - if isinstance(js_code, str): - scripts = [js_code] - else: - scripts = js_code - - results = [] - for script in scripts: - try: - # Attempt the evaluate - # If the user code triggers navigation, we catch the "context destroyed" error - # then wait for the new page to load before continuing - result = None - try: - result = await page.evaluate( - f""" - (async () => {{ - try {{ - const script_result = {script}; - return {{ success: true, result: script_result }}; - }} catch (err) {{ - return {{ success: false, error: err.toString(), stack: err.stack }}; - }} - }})(); - """ - ) - except Error as e: - # If it's due to navigation destroying the context, handle gracefully - if "Execution context was destroyed" in str(e): - self.logger.info( - "Navigation triggered by script, waiting for load state", - tag="JS_EXEC", - ) - try: - await page.wait_for_load_state("load", timeout=30000) - except Error as nav_err: - self.logger.warning( - message="Navigation wait failed: {error}", - tag="JS_EXEC", - params={"error": str(nav_err)}, - ) - try: - await page.wait_for_load_state( - "networkidle", timeout=30000 - ) - except Error as nav_err: - self.logger.warning( - message="Network idle wait failed: {error}", - tag="JS_EXEC", - params={"error": str(nav_err)}, - ) - # Return partial success, or adapt as you see fit - result = { - "success": True, - "info": "Navigation triggered, ignoring context destroyed error", - } - else: - # It's some other error, log and continue - self.logger.error( - message="Playwright execution error: {error}", - tag="JS_EXEC", - params={"error": str(e)}, - ) - result = {"success": False, "error": str(e)} - - # If we made it this far with no repeated error, do post-load waits - t1 = time.time() - try: - await page.wait_for_load_state("domcontentloaded", timeout=5000) - except Error as e: - self.logger.warning( - message="DOM content load timeout: {error}", - tag="JS_EXEC", - params={"error": str(e)}, - ) - - # t1 = time.time() - # try: - # await page.wait_for_load_state('networkidle', timeout=5000) - # print("Network idle after script execution in", time.time() - t1) - # except Error as e: - # self.logger.warning( - # message="Network idle timeout: {error}", - # tag="JS_EXEC", - # params={"error": str(e)} - # ) - - results.append(result if result else {"success": True}) - - except Exception as e: - # Catch anything else - self.logger.error( - message="Script chunk failed: {error}", - tag="JS_EXEC", - params={"error": str(e)}, - ) - results.append({"success": False, "error": str(e)}) - - return {"success": True, "results": results} - - except Exception as e: - self.logger.error( - message="Script execution failed: {error}", - tag="JS_EXEC", - params={"error": str(e)}, - ) - return {"success": False, "error": str(e)} - - async def execute_user_script( - self, page: Page, js_code: Union[str, List[str]] - ) -> Dict[str, Any]: - """ - Executes user-provided JavaScript code with proper error handling and context. - - Args: - page: Playwright page object - js_code: Single JavaScript string or list of JavaScript code strings - - Returns: - Dict containing execution status and results/errors - """ - try: - # Ensure the page is ready for script execution - await page.wait_for_load_state("domcontentloaded") - - # Handle single script or multiple scripts - if isinstance(js_code, str): - scripts = [js_code] - else: - scripts = js_code - - results = [] - for script in scripts: - try: - # Execute the script and wait for network idle - result = await page.evaluate( - f""" - (() => {{ - return new Promise((resolve) => {{ - try {{ - const result = (function() {{ - {script} - }})(); - - // If result is a promise, wait for it - if (result instanceof Promise) {{ - result.then(() => {{ - // Wait a bit for any triggered effects - setTimeout(() => resolve({{ success: true }}), 100); - }}).catch(error => {{ - resolve({{ - success: false, - error: error.toString(), - stack: error.stack - }}); - }}); - }} else {{ - // For non-promise results, still wait a bit for effects - setTimeout(() => resolve({{ success: true }}), 100); - }} - }} catch (error) {{ - resolve({{ - success: false, - error: error.toString(), - stack: error.stack - }}); - }} - }}); - }})() - """ - ) - - # Wait for network idle after script execution - t1 = time.time() - await page.wait_for_load_state("domcontentloaded", timeout=5000) - - - t1 = time.time() - await page.wait_for_load_state("networkidle", timeout=5000) - - results.append(result if result else {"success": True}) - - except Error as e: - # Handle Playwright-specific errors - self.logger.error( - message="Playwright execution error: {error}", - tag="JS_EXEC", - params={"error": str(e)}, - ) - results.append({"success": False, "error": str(e)}) - - return {"success": True, "results": results} - - except Exception as e: - self.logger.error( - message="Script execution failed: {error}", - tag="JS_EXEC", - params={"error": str(e)}, - ) - return {"success": False, "error": str(e)} - - except Exception as e: - self.logger.error( - message="Script execution failed: {error}", - tag="JS_EXEC", - params={"error": str(e)}, - ) - return {"success": False, "error": str(e)} - - async def check_visibility(self, page): - """ - Checks if an element is visible on the page. - - Args: - page: Playwright page object - - Returns: - Boolean indicating visibility - """ - return await page.evaluate( - """ - () => { - const element = document.body; - if (!element) return false; - const style = window.getComputedStyle(element); - const isVisible = style.display !== 'none' && - style.visibility !== 'hidden' && - style.opacity !== '0'; - return isVisible; - } - """ - ) - - async def safe_scroll(self, page: Page, x: int, y: int, delay: float = 0.1): - """ - Safely scroll the page with rendering time. - - Args: - page: Playwright page object - x: Horizontal scroll position - y: Vertical scroll position - """ - result = await self.csp_scroll_to(page, x, y) - if result["success"]: - await page.wait_for_timeout(delay * 1000) - return result - - async def csp_scroll_to(self, page: Page, x: int, y: int) -> Dict[str, Any]: - """ - Performs a CSP-compliant scroll operation and returns the result status. - - Args: - page: Playwright page object - x: Horizontal scroll position - y: Vertical scroll position - - Returns: - Dict containing scroll status and position information - """ - try: - result = await page.evaluate( - f"""() => {{ - try {{ - const startX = window.scrollX; - const startY = window.scrollY; - window.scrollTo({x}, {y}); - - // Get final position after scroll - const endX = window.scrollX; - const endY = window.scrollY; - - return {{ - success: true, - startPosition: {{ x: startX, y: startY }}, - endPosition: {{ x: endX, y: endY }}, - targetPosition: {{ x: {x}, y: {y} }}, - delta: {{ - x: Math.abs(endX - {x}), - y: Math.abs(endY - {y}) - }} - }}; - }} catch (e) {{ - return {{ - success: false, - error: e.toString() - }}; - }} - }}""" - ) - - if not result["success"]: - self.logger.warning( - message="Scroll operation failed: {error}", - tag="SCROLL", - params={"error": result.get("error")}, - ) - - return result - - except Exception as e: - self.logger.error( - message="Failed to execute scroll: {error}", - tag="SCROLL", - params={"error": str(e)}, - ) - return {"success": False, "error": str(e)} - - async def get_page_dimensions(self, page: Page): - """ - Get the dimensions of the page. - - Args: - page: Playwright page object - - Returns: - Dict containing width and height of the page - """ - return await page.evaluate( - """ - () => { - const {scrollWidth, scrollHeight} = document.documentElement; - return {width: scrollWidth, height: scrollHeight}; - } - """ - ) - - async def page_need_scroll(self, page: Page) -> bool: - """ - Determine whether the page need to scroll - - Args: - page: Playwright page object - - Returns: - bool: True if page needs scrolling - """ - try: - need_scroll = await page.evaluate( - """ - () => { - const scrollHeight = document.documentElement.scrollHeight; - const viewportHeight = window.innerHeight; - return scrollHeight > viewportHeight; - } - """ - ) - return need_scroll - except Exception as e: - self.logger.warning( - message="Failed to check scroll need: {error}. Defaulting to True for safety.", - tag="SCROLL", - params={"error": str(e)}, - ) - return True # Default to scrolling if check fails - - -#################################################################################################### -# HTTP Crawler Strategy -#################################################################################################### - -class HTTPCrawlerError(Exception): - """Base error class for HTTP crawler specific exceptions""" - pass - - -class ConnectionTimeoutError(HTTPCrawlerError): - """Raised when connection timeout occurs""" - pass - - -class HTTPStatusError(HTTPCrawlerError): - """Raised for unexpected status codes""" - def __init__(self, status_code: int, message: str): - self.status_code = status_code - super().__init__(f"HTTP {status_code}: {message}") - - -class AsyncHTTPCrawlerStrategy(AsyncCrawlerStrategy): - """ - Fast, lightweight HTTP-only crawler strategy optimized for memory efficiency. - """ - - __slots__ = ('logger', 'max_connections', 'dns_cache_ttl', 'chunk_size', '_session', 'hooks', 'browser_config') - - DEFAULT_TIMEOUT: Final[int] = 30 - DEFAULT_CHUNK_SIZE: Final[int] = 64 * 1024 - DEFAULT_MAX_CONNECTIONS: Final[int] = min(32, (os.cpu_count() or 1) * 4) - DEFAULT_DNS_CACHE_TTL: Final[int] = 300 - VALID_SCHEMES: Final = frozenset({'http', 'https', 'file', 'raw'}) - - _BASE_HEADERS: Final = MappingProxyType({ - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - 'Accept-Language': 'en-US,en;q=0.5', - 'Accept-Encoding': 'gzip, deflate, br', - 'Connection': 'keep-alive', - 'Upgrade-Insecure-Requests': '1', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' - }) - - def __init__( - self, - browser_config: Optional[HTTPCrawlerConfig] = None, - logger: Optional[AsyncLogger] = None, - max_connections: int = DEFAULT_MAX_CONNECTIONS, - dns_cache_ttl: int = DEFAULT_DNS_CACHE_TTL, - chunk_size: int = DEFAULT_CHUNK_SIZE - ): - """Initialize the HTTP crawler with config""" - self.browser_config = browser_config or HTTPCrawlerConfig() - self.logger = logger - self.max_connections = max_connections - self.dns_cache_ttl = dns_cache_ttl - self.chunk_size = chunk_size - self._session: Optional[aiohttp.ClientSession] = None - - self.hooks = { - k: partial(self._execute_hook, k) - for k in ('before_request', 'after_request', 'on_error') - } - - # Set default hooks - self.set_hook('before_request', lambda *args, **kwargs: None) - self.set_hook('after_request', lambda *args, **kwargs: None) - self.set_hook('on_error', lambda *args, **kwargs: None) - - - async def __aenter__(self) -> AsyncHTTPCrawlerStrategy: - await self.start() - return self - - async def __aexit__(self, exc_type, exc_val, exc_tb) -> None: - await self.close() - - @contextlib.asynccontextmanager - async def _session_context(self): - try: - if not self._session: - await self.start() - yield self._session - finally: - pass - - def set_hook(self, hook_type: str, hook_func: Callable) -> None: - if hook_type in self.hooks: - self.hooks[hook_type] = partial(self._execute_hook, hook_type, hook_func) - else: - raise ValueError(f"Invalid hook type: {hook_type}") - - async def _execute_hook( - self, - hook_type: str, - hook_func: Callable, - *args: Any, - **kwargs: Any - ) -> Any: - if asyncio.iscoroutinefunction(hook_func): - return await hook_func(*args, **kwargs) - return hook_func(*args, **kwargs) - - async def start(self) -> None: - if not self._session: - connector = aiohttp.TCPConnector( - limit=self.max_connections, - ttl_dns_cache=self.dns_cache_ttl, - use_dns_cache=True, - force_close=False - ) - self._session = aiohttp.ClientSession( - headers=dict(self._BASE_HEADERS), - connector=connector, - timeout=ClientTimeout(total=self.DEFAULT_TIMEOUT) - ) - - async def close(self) -> None: - if self._session and not self._session.closed: - try: - await asyncio.wait_for(self._session.close(), timeout=5.0) - except asyncio.TimeoutError: - if self.logger: - self.logger.warning( - message="Session cleanup timed out", - tag="CLEANUP" - ) - finally: - self._session = None - - async def _stream_file(self, path: str) -> AsyncGenerator[memoryview, None]: - async with aiofiles.open(path, mode='rb') as f: - while chunk := await f.read(self.chunk_size): - yield memoryview(chunk) - - async def _handle_file(self, path: str) -> AsyncCrawlResponse: - if not os.path.exists(path): - raise FileNotFoundError(f"Local file not found: {path}") - - chunks = [] - async for chunk in self._stream_file(path): - chunks.append(chunk.tobytes().decode('utf-8', errors='replace')) - - return AsyncCrawlResponse( - html=''.join(chunks), - response_headers={}, - status_code=200 - ) - - async def _handle_raw(self, content: str) -> AsyncCrawlResponse: - return AsyncCrawlResponse( - html=content, - response_headers={}, - status_code=200 - ) - - - async def _handle_http( - self, - url: str, - config: CrawlerRunConfig - ) -> AsyncCrawlResponse: - async with self._session_context() as session: - timeout = ClientTimeout( - total=config.page_timeout or self.DEFAULT_TIMEOUT, - connect=10, - sock_read=30 - ) - - headers = dict(self._BASE_HEADERS) - if self.browser_config.headers: - headers.update(self.browser_config.headers) - - request_kwargs = { - 'timeout': timeout, - 'allow_redirects': self.browser_config.follow_redirects, - 'ssl': self.browser_config.verify_ssl, - 'headers': headers - } - - if self.browser_config.method == "POST": - if self.browser_config.data: - request_kwargs['data'] = self.browser_config.data - if self.browser_config.json: - request_kwargs['json'] = self.browser_config.json - - await self.hooks['before_request'](url, request_kwargs) - - try: - async with session.request(self.browser_config.method, url, **request_kwargs) as response: - content = memoryview(await response.read()) - - if not (200 <= response.status < 300): - raise HTTPStatusError( - response.status, - f"Unexpected status code for {url}" - ) - - encoding = response.charset - if not encoding: - encoding = chardet.detect(content.tobytes())['encoding'] or 'utf-8' - - result = AsyncCrawlResponse( - html=content.tobytes().decode(encoding, errors='replace'), - response_headers=dict(response.headers), - status_code=response.status, - redirected_url=str(response.url) - ) - - await self.hooks['after_request'](result) - return result - - except aiohttp.ServerTimeoutError as e: - await self.hooks['on_error'](e) - raise ConnectionTimeoutError(f"Request timed out: {str(e)}") - - except aiohttp.ClientConnectorError as e: - await self.hooks['on_error'](e) - raise ConnectionError(f"Connection failed: {str(e)}") - - except aiohttp.ClientError as e: - await self.hooks['on_error'](e) - raise HTTPCrawlerError(f"HTTP client error: {str(e)}") - - except asyncio.exceptions.TimeoutError as e: - await self.hooks['on_error'](e) - raise ConnectionTimeoutError(f"Request timed out: {str(e)}") - - except Exception as e: - await self.hooks['on_error'](e) - raise HTTPCrawlerError(f"HTTP request failed: {str(e)}") - - async def crawl( - self, - url: str, - config: Optional[CrawlerRunConfig] = None, - **kwargs - ) -> AsyncCrawlResponse: - config = config or CrawlerRunConfig.from_kwargs(kwargs) - - parsed = urlparse(url) - scheme = parsed.scheme.rstrip('/') - - if scheme not in self.VALID_SCHEMES: - raise ValueError(f"Unsupported URL scheme: {scheme}") - - try: - if scheme == 'file': - return await self._handle_file(parsed.path) - elif scheme == 'raw': - return await self._handle_raw(parsed.path) - else: # http or https - return await self._handle_http(url, config) - - except Exception as e: - if self.logger: - self.logger.error( - message="Crawl failed: {error}", - tag="CRAWL", - params={"error": str(e), "url": url} - ) - raise -``` - - -## File: crawl4ai/async_webcrawler.py - -```py -from .__version__ import __version__ as crawl4ai_version -import os -import sys -import time -from pathlib import Path -from typing import Optional, List -import json -import asyncio - -# from contextlib import nullcontext, asynccontextmanager -from contextlib import asynccontextmanager -from .models import ( - CrawlResult, - MarkdownGenerationResult, - DispatchResult, - ScrapingResult, - CrawlResultContainer, - RunManyReturn -) -from .async_database import async_db_manager -from .chunking_strategy import * # noqa: F403 -from .chunking_strategy import IdentityChunking -from .content_filter_strategy import * # noqa: F403 -from .extraction_strategy import * # noqa: F403 -from .extraction_strategy import NoExtractionStrategy -from .async_crawler_strategy import ( - AsyncCrawlerStrategy, - AsyncPlaywrightCrawlerStrategy, - AsyncCrawlResponse, -) -from .cache_context import CacheMode, CacheContext -from .markdown_generation_strategy import ( - DefaultMarkdownGenerator, - MarkdownGenerationStrategy, -) -from .deep_crawling import DeepCrawlDecorator -from .async_logger import AsyncLogger, AsyncLoggerBase -from .async_configs import BrowserConfig, CrawlerRunConfig, ProxyConfig -from .async_dispatcher import * # noqa: F403 -from .async_dispatcher import BaseDispatcher, MemoryAdaptiveDispatcher, RateLimiter - -from .utils import ( - sanitize_input_encode, - InvalidCSSSelectorError, - fast_format_html, - get_error_context, - RobotsParser, - preprocess_html_for_schema, -) - - -class AsyncWebCrawler: - """ - Asynchronous web crawler with flexible caching capabilities. - - There are two ways to use the crawler: - - 1. Using context manager (recommended for simple cases): - ```python - async with AsyncWebCrawler() as crawler: - result = await crawler.arun(url="https://example.com") - ``` - - 2. Using explicit lifecycle management (recommended for long-running applications): - ```python - crawler = AsyncWebCrawler() - await crawler.start() - - # Use the crawler multiple times - result1 = await crawler.arun(url="https://example.com") - result2 = await crawler.arun(url="https://another.com") - - await crawler.close() - ``` - - Attributes: - browser_config (BrowserConfig): Configuration object for browser settings. - crawler_strategy (AsyncCrawlerStrategy): Strategy for crawling web pages. - logger (AsyncLogger): Logger instance for recording events and errors. - crawl4ai_folder (str): Directory for storing cache. - base_directory (str): Base directory for storing cache. - ready (bool): Whether the crawler is ready for use. - - Methods: - start(): Start the crawler explicitly without using context manager. - close(): Close the crawler explicitly without using context manager. - arun(): Run the crawler for a single source: URL (web, local file, or raw HTML). - awarmup(): Perform warmup sequence. - arun_many(): Run the crawler for multiple sources. - aprocess_html(): Process HTML content. - - Typical Usage: - async with AsyncWebCrawler() as crawler: - result = await crawler.arun(url="https://example.com") - print(result.markdown) - - Using configuration: - browser_config = BrowserConfig(browser_type="chromium", headless=True) - async with AsyncWebCrawler(config=browser_config) as crawler: - crawler_config = CrawlerRunConfig( - cache_mode=CacheMode.BYPASS - ) - result = await crawler.arun(url="https://example.com", config=crawler_config) - print(result.markdown) - """ - - _domain_last_hit = {} - - def __init__( - self, - crawler_strategy: AsyncCrawlerStrategy = None, - config: BrowserConfig = None, - base_directory: str = str( - os.getenv("CRAWL4_AI_BASE_DIRECTORY", Path.home())), - thread_safe: bool = False, - logger: AsyncLoggerBase = None, - **kwargs, - ): - """ - Initialize the AsyncWebCrawler. - - Args: - crawler_strategy: Strategy for crawling web pages. Default AsyncPlaywrightCrawlerStrategy - config: Configuration object for browser settings. Default BrowserConfig() - base_directory: Base directory for storing cache - thread_safe: Whether to use thread-safe operations - **kwargs: Additional arguments for backwards compatibility - """ - # Handle browser configuration - browser_config = config or BrowserConfig() - - self.browser_config = browser_config - - # Initialize logger first since other components may need it - self.logger = logger or AsyncLogger( - log_file=os.path.join(base_directory, ".crawl4ai", "crawler.log"), - verbose=self.browser_config.verbose, - tag_width=10, - ) - - # Initialize crawler strategy - params = {k: v for k, v in kwargs.items() if k in [ - "browser_config", "logger"]} - self.crawler_strategy = crawler_strategy or AsyncPlaywrightCrawlerStrategy( - browser_config=browser_config, - logger=self.logger, - **params, # Pass remaining kwargs for backwards compatibility - ) - - # Thread safety setup - self._lock = asyncio.Lock() if thread_safe else None - - # Initialize directories - self.crawl4ai_folder = os.path.join(base_directory, ".crawl4ai") - os.makedirs(self.crawl4ai_folder, exist_ok=True) - os.makedirs(f"{self.crawl4ai_folder}/cache", exist_ok=True) - - # Initialize robots parser - self.robots_parser = RobotsParser() - - self.ready = False - - # Decorate arun method with deep crawling capabilities - self._deep_handler = DeepCrawlDecorator(self) - self.arun = self._deep_handler(self.arun) - - async def start(self): - """ - Start the crawler explicitly without using context manager. - This is equivalent to using 'async with' but gives more control over the lifecycle. - Returns: - AsyncWebCrawler: The initialized crawler instance - """ - await self.crawler_strategy.__aenter__() - self.logger.info(f"Crawl4AI {crawl4ai_version}", tag="INIT") - self.ready = True - return self - - async def close(self): - """ - Close the crawler explicitly without using context manager. - This should be called when you're done with the crawler if you used start(). - - This method will: - 1. Clean up browser resources - 2. Close any open pages and contexts - """ - await self.crawler_strategy.__aexit__(None, None, None) - - async def __aenter__(self): - return await self.start() - - async def __aexit__(self, exc_type, exc_val, exc_tb): - await self.close() - - @asynccontextmanager - async def nullcontext(self): - """异步空上下文管理器""" - yield - - async def arun( - self, - url: str, - config: CrawlerRunConfig = None, - **kwargs, - ) -> RunManyReturn: - """ - Runs the crawler for a single source: URL (web, local file, or raw HTML). - - Migration Guide: - Old way (deprecated): - result = await crawler.arun( - url="https://example.com", - word_count_threshold=200, - screenshot=True, - ... - ) - - New way (recommended): - config = CrawlerRunConfig( - word_count_threshold=200, - screenshot=True, - ... - ) - result = await crawler.arun(url="https://example.com", crawler_config=config) - - Args: - url: The URL to crawl (http://, https://, file://, or raw:) - crawler_config: Configuration object controlling crawl behavior - [other parameters maintained for backwards compatibility] - - Returns: - CrawlResult: The result of crawling and processing - """ - # Auto-start if not ready - if not self.ready: - await self.start() - - config = config or CrawlerRunConfig() - if not isinstance(url, str) or not url: - raise ValueError( - "Invalid URL, make sure the URL is a non-empty string") - - async with self._lock or self.nullcontext(): - try: - self.logger.verbose = config.verbose - - # Default to ENABLED if no cache mode specified - if config.cache_mode is None: - config.cache_mode = CacheMode.ENABLED - - # Create cache context - cache_context = CacheContext(url, config.cache_mode, False) - - # Initialize processing variables - async_response: AsyncCrawlResponse = None - cached_result: CrawlResult = None - screenshot_data = None - pdf_data = None - extracted_content = None - start_time = time.perf_counter() - - # Try to get cached result if appropriate - if cache_context.should_read(): - cached_result = await async_db_manager.aget_cached_url(url) - - if cached_result: - html = sanitize_input_encode(cached_result.html) - extracted_content = sanitize_input_encode( - cached_result.extracted_content or "" - ) - extracted_content = ( - None - if not extracted_content or extracted_content == "[]" - else extracted_content - ) - # If screenshot is requested but its not in cache, then set cache_result to None - screenshot_data = cached_result.screenshot - pdf_data = cached_result.pdf - # if config.screenshot and not screenshot or config.pdf and not pdf: - if config.screenshot and not screenshot_data: - cached_result = None - - if config.pdf and not pdf_data: - cached_result = None - - self.logger.url_status( - url=cache_context.display_url, - success=bool(html), - timing=time.perf_counter() - start_time, - tag="FETCH", - ) - - # Update proxy configuration from rotation strategy if available - if config and config.proxy_rotation_strategy: - next_proxy: ProxyConfig = await config.proxy_rotation_strategy.get_next_proxy() - if next_proxy: - self.logger.info( - message="Switch proxy: {proxy}", - tag="PROXY", - params={"proxy": next_proxy.server} - ) - config.proxy_config = next_proxy - # config = config.clone(proxy_config=next_proxy) - - # Fetch fresh content if needed - if not cached_result or not html: - t1 = time.perf_counter() - - if config.user_agent: - self.crawler_strategy.update_user_agent( - config.user_agent) - - # Check robots.txt if enabled - if config and config.check_robots_txt: - if not await self.robots_parser.can_fetch( - url, self.browser_config.user_agent - ): - return CrawlResult( - url=url, - html="", - success=False, - status_code=403, - error_message="Access denied by robots.txt", - response_headers={ - "X-Robots-Status": "Blocked by robots.txt" - }, - ) - - ############################## - # Call CrawlerStrategy.crawl # - ############################## - async_response = await self.crawler_strategy.crawl( - url, - config=config, # Pass the entire config object - ) - - html = sanitize_input_encode(async_response.html) - screenshot_data = async_response.screenshot - pdf_data = async_response.pdf_data - js_execution_result = async_response.js_execution_result - - t2 = time.perf_counter() - self.logger.url_status( - url=cache_context.display_url, - success=bool(html), - timing=t2 - t1, - tag="FETCH", - ) - - ############################################################### - # Process the HTML content, Call CrawlerStrategy.process_html # - ############################################################### - crawl_result: CrawlResult = await self.aprocess_html( - url=url, - html=html, - extracted_content=extracted_content, - config=config, # Pass the config object instead of individual parameters - screenshot_data=screenshot_data, - pdf_data=pdf_data, - verbose=config.verbose, - is_raw_html=True if url.startswith("raw:") else False, - redirected_url=async_response.redirected_url, - **kwargs, - ) - - crawl_result.status_code = async_response.status_code - crawl_result.redirected_url = async_response.redirected_url or url - crawl_result.response_headers = async_response.response_headers - crawl_result.downloaded_files = async_response.downloaded_files - crawl_result.js_execution_result = js_execution_result - crawl_result.mhtml = async_response.mhtml_data - crawl_result.ssl_certificate = async_response.ssl_certificate - # Add captured network and console data if available - crawl_result.network_requests = async_response.network_requests - crawl_result.console_messages = async_response.console_messages - - crawl_result.success = bool(html) - crawl_result.session_id = getattr( - config, "session_id", None) - - self.logger.url_status( - url=cache_context.display_url, - success=crawl_result.success, - timing=time.perf_counter() - start_time, - tag="COMPLETE", - ) - - # Update cache if appropriate - if cache_context.should_write() and not bool(cached_result): - await async_db_manager.acache_url(crawl_result) - - return CrawlResultContainer(crawl_result) - - else: - self.logger.url_status( - url=cache_context.display_url, - success=True, - timing=time.perf_counter() - start_time, - tag="COMPLETE" - ) - cached_result.success = bool(html) - cached_result.session_id = getattr( - config, "session_id", None) - cached_result.redirected_url = cached_result.redirected_url or url - return CrawlResultContainer(cached_result) - - except Exception as e: - error_context = get_error_context(sys.exc_info()) - - error_message = ( - f"Unexpected error in _crawl_web at line {error_context['line_no']} " - f"in {error_context['function']} ({error_context['filename']}):\n" - f"Error: {str(e)}\n\n" - f"Code context:\n{error_context['code_context']}" - ) - - self.logger.error_status( - url=url, - error=error_message, - tag="ERROR", - ) - - return CrawlResultContainer( - CrawlResult( - url=url, html="", success=False, error_message=error_message - ) - ) - - async def aprocess_html( - self, - url: str, - html: str, - extracted_content: str, - config: CrawlerRunConfig, - screenshot_data: str, - pdf_data: str, - verbose: bool, - **kwargs, - ) -> CrawlResult: - """ - Process HTML content using the provided configuration. - - Args: - url: The URL being processed - html: Raw HTML content - extracted_content: Previously extracted content (if any) - config: Configuration object controlling processing behavior - screenshot_data: Screenshot data (if any) - pdf_data: PDF data (if any) - verbose: Whether to enable verbose logging - **kwargs: Additional parameters for backwards compatibility - - Returns: - CrawlResult: Processed result containing extracted and formatted content - """ - cleaned_html = "" - try: - _url = url if not kwargs.get("is_raw_html", False) else "Raw HTML" - t1 = time.perf_counter() - - # Get scraping strategy and ensure it has a logger - scraping_strategy = config.scraping_strategy - if not scraping_strategy.logger: - scraping_strategy.logger = self.logger - - # Process HTML content - params = config.__dict__.copy() - params.pop("url", None) - # add keys from kwargs to params that doesn't exist in params - params.update({k: v for k, v in kwargs.items() - if k not in params.keys()}) - - ################################ - # Scraping Strategy Execution # - ################################ - result: ScrapingResult = scraping_strategy.scrap( - url, html, **params) - - if result is None: - raise ValueError( - f"Process HTML, Failed to extract content from the website: {url}" - ) - - except InvalidCSSSelectorError as e: - raise ValueError(str(e)) - except Exception as e: - raise ValueError( - f"Process HTML, Failed to extract content from the website: {url}, error: {str(e)}" - ) - - # Extract results - handle both dict and ScrapingResult - if isinstance(result, dict): - cleaned_html = sanitize_input_encode( - result.get("cleaned_html", "")) - media = result.get("media", {}) - tables = media.pop("tables", []) if isinstance(media, dict) else [] - links = result.get("links", {}) - metadata = result.get("metadata", {}) - else: - cleaned_html = sanitize_input_encode(result.cleaned_html) - media = result.media.model_dump() - tables = media.pop("tables", []) - links = result.links.model_dump() - metadata = result.metadata - - fit_html = preprocess_html_for_schema(html_content=html, text_threshold= 500, max_size= 300_000) - - ################################ - # Generate Markdown # - ################################ - markdown_generator: Optional[MarkdownGenerationStrategy] = ( - config.markdown_generator or DefaultMarkdownGenerator() - ) - - # --- SELECT HTML SOURCE BASED ON CONTENT_SOURCE --- - # Get the desired source from the generator config, default to 'cleaned_html' - selected_html_source = getattr(markdown_generator, 'content_source', 'cleaned_html') - - # Define the source selection logic using dict dispatch - html_source_selector = { - "raw_html": lambda: html, # The original raw HTML - "cleaned_html": lambda: cleaned_html, # The HTML after scraping strategy - "fit_html": lambda: fit_html, # The HTML after preprocessing for schema - } - - markdown_input_html = cleaned_html # Default to cleaned_html - - try: - # Get the appropriate lambda function, default to returning cleaned_html if key not found - source_lambda = html_source_selector.get(selected_html_source, lambda: cleaned_html) - # Execute the lambda to get the selected HTML - markdown_input_html = source_lambda() - - # Log which source is being used (optional, but helpful for debugging) - # if self.logger and verbose: - # actual_source_used = selected_html_source if selected_html_source in html_source_selector else 'cleaned_html (default)' - # self.logger.debug(f"Using '{actual_source_used}' as source for Markdown generation for {url}", tag="MARKDOWN_SRC") - - except Exception as e: - # Handle potential errors, especially from preprocess_html_for_schema - if self.logger: - self.logger.warning( - f"Error getting/processing '{selected_html_source}' for markdown source: {e}. Falling back to cleaned_html.", - tag="MARKDOWN_SRC" - ) - # Ensure markdown_input_html is still the default cleaned_html in case of error - markdown_input_html = cleaned_html - # --- END: HTML SOURCE SELECTION --- - - # Uncomment if by default we want to use PruningContentFilter - # if not config.content_filter and not markdown_generator.content_filter: - # markdown_generator.content_filter = PruningContentFilter() - - markdown_result: MarkdownGenerationResult = ( - markdown_generator.generate_markdown( - input_html=markdown_input_html, - base_url=params.get("redirected_url", url) - # html2text_options=kwargs.get('html2text', {}) - ) - ) - - # Log processing completion - self.logger.url_status( - url=_url, - success=True, - timing=int((time.perf_counter() - t1) * 1000) / 1000, - tag="SCRAPE" - ) - # self.logger.info( - # message="{url:.50}... | Time: {timing}s", - # tag="SCRAPE", - # params={"url": _url, "timing": int((time.perf_counter() - t1) * 1000) / 1000}, - # ) - - ################################ - # Structured Content Extraction # - ################################ - if ( - not bool(extracted_content) - and config.extraction_strategy - and not isinstance(config.extraction_strategy, NoExtractionStrategy) - ): - t1 = time.perf_counter() - # Choose content based on input_format - content_format = config.extraction_strategy.input_format - if content_format == "fit_markdown" and not markdown_result.fit_markdown: - self.logger.warning( - message="Fit markdown requested but not available. Falling back to raw markdown.", - tag="EXTRACT", - params={"url": _url}, - ) - content_format = "markdown" - - content = { - "markdown": markdown_result.raw_markdown, - "html": html, - "fit_html": fit_html, - "cleaned_html": cleaned_html, - "fit_markdown": markdown_result.fit_markdown, - }.get(content_format, markdown_result.raw_markdown) - - # Use IdentityChunking for HTML input, otherwise use provided chunking strategy - chunking = ( - IdentityChunking() - if content_format in ["html", "cleaned_html", "fit_html"] - else config.chunking_strategy - ) - sections = chunking.chunk(content) - extracted_content = config.extraction_strategy.run(url, sections) - extracted_content = json.dumps( - extracted_content, indent=4, default=str, ensure_ascii=False - ) - - # Log extraction completion - self.logger.info( - message="Completed for {url:.50}... | Time: {timing}s", - tag="EXTRACT", - params={"url": _url, "timing": time.perf_counter() - t1}, - ) - - # Apply HTML formatting if requested - if config.prettiify: - cleaned_html = fast_format_html(cleaned_html) - - # Return complete crawl result - return CrawlResult( - url=url, - html=html, - fit_html=fit_html, - cleaned_html=cleaned_html, - markdown=markdown_result, - media=media, - tables=tables, # NEW - links=links, - metadata=metadata, - screenshot=screenshot_data, - pdf=pdf_data, - extracted_content=extracted_content, - success=True, - error_message="", - ) - - async def arun_many( - self, - urls: List[str], - config: Optional[CrawlerRunConfig] = None, - dispatcher: Optional[BaseDispatcher] = None, - # Legacy parameters maintained for backwards compatibility - # word_count_threshold=MIN_WORD_THRESHOLD, - # extraction_strategy: ExtractionStrategy = None, - # chunking_strategy: ChunkingStrategy = RegexChunking(), - # content_filter: RelevantContentFilter = None, - # cache_mode: Optional[CacheMode] = None, - # bypass_cache: bool = False, - # css_selector: str = None, - # screenshot: bool = False, - # pdf: bool = False, - # user_agent: str = None, - # verbose=True, - **kwargs, - ) -> RunManyReturn: - """ - Runs the crawler for multiple URLs concurrently using a configurable dispatcher strategy. - - Args: - urls: List of URLs to crawl - config: Configuration object controlling crawl behavior for all URLs - dispatcher: The dispatcher strategy instance to use. Defaults to MemoryAdaptiveDispatcher - [other parameters maintained for backwards compatibility] - - Returns: - Union[List[CrawlResult], AsyncGenerator[CrawlResult, None]]: - Either a list of all results or an async generator yielding results - - Examples: - - # Batch processing (default) - results = await crawler.arun_many( - urls=["https://example1.com", "https://example2.com"], - config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS) - ) - for result in results: - print(f"Processed {result.url}: {len(result.markdown)} chars") - - # Streaming results - async for result in await crawler.arun_many( - urls=["https://example1.com", "https://example2.com"], - config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS, stream=True), - ): - print(f"Processed {result.url}: {len(result.markdown)} chars") - """ - config = config or CrawlerRunConfig() - # if config is None: - # config = CrawlerRunConfig( - # word_count_threshold=word_count_threshold, - # extraction_strategy=extraction_strategy, - # chunking_strategy=chunking_strategy, - # content_filter=content_filter, - # cache_mode=cache_mode, - # bypass_cache=bypass_cache, - # css_selector=css_selector, - # screenshot=screenshot, - # pdf=pdf, - # verbose=verbose, - # **kwargs, - # ) - - if dispatcher is None: - dispatcher = MemoryAdaptiveDispatcher( - rate_limiter=RateLimiter( - base_delay=(1.0, 3.0), max_delay=60.0, max_retries=3 - ), - ) - - def transform_result(task_result): - return ( - setattr( - task_result.result, - "dispatch_result", - DispatchResult( - task_id=task_result.task_id, - memory_usage=task_result.memory_usage, - peak_memory=task_result.peak_memory, - start_time=task_result.start_time, - end_time=task_result.end_time, - error_message=task_result.error_message, - ), - ) - or task_result.result - ) - - stream = config.stream - - if stream: - - async def result_transformer(): - async for task_result in dispatcher.run_urls_stream( - crawler=self, urls=urls, config=config - ): - yield transform_result(task_result) - - return result_transformer() - else: - _results = await dispatcher.run_urls(crawler=self, urls=urls, config=config) - return [transform_result(res) for res in _results] - -``` - - -## File: crawl4ai/browser_manager.py - -```py -import asyncio -import time -from typing import List, Optional -import os -import sys -import shutil -import tempfile -import psutil -import signal -import subprocess -import shlex -from playwright.async_api import BrowserContext -import hashlib -from .js_snippet import load_js_script -from .config import DOWNLOAD_PAGE_TIMEOUT -from .async_configs import BrowserConfig, CrawlerRunConfig -from playwright_stealth import StealthConfig -from .utils import get_chromium_path - -stealth_config = StealthConfig( - webdriver=True, - chrome_app=True, - chrome_csi=True, - chrome_load_times=True, - chrome_runtime=True, - navigator_languages=True, - navigator_plugins=True, - navigator_permissions=True, - webgl_vendor=True, - outerdimensions=True, - navigator_hardware_concurrency=True, - media_codecs=True, -) - -BROWSER_DISABLE_OPTIONS = [ - "--disable-background-networking", - "--disable-background-timer-throttling", - "--disable-backgrounding-occluded-windows", - "--disable-breakpad", - "--disable-client-side-phishing-detection", - "--disable-component-extensions-with-background-pages", - "--disable-default-apps", - "--disable-extensions", - "--disable-features=TranslateUI", - "--disable-hang-monitor", - "--disable-ipc-flooding-protection", - "--disable-popup-blocking", - "--disable-prompt-on-repost", - "--disable-sync", - "--force-color-profile=srgb", - "--metrics-recording-only", - "--no-first-run", - "--password-store=basic", - "--use-mock-keychain", -] - - -class ManagedBrowser: - """ - Manages the browser process and context. This class allows to connect to the browser using CDP protocol. - - Attributes: - browser_type (str): The type of browser to launch. Supported values: "chromium", "firefox", "webkit". - Default: "chromium". - user_data_dir (str or None): Path to a user data directory for persistent sessions. If None, a - temporary directory may be used. Default: None. - headless (bool): Whether to run the browser in headless mode (no visible GUI). - Default: True. - browser_process (subprocess.Popen): The process object for the browser. - temp_dir (str): Temporary directory for user data if not provided. - debugging_port (int): Port for debugging the browser. - host (str): Host for debugging the browser. - - Methods: - start(): Starts the browser process and returns the CDP endpoint URL. - _get_browser_path(): Returns the browser executable path based on OS and browser type. - _get_browser_args(): Returns browser-specific command line arguments. - _get_user_data_dir(): Returns the user data directory path. - _cleanup(): Terminates the browser process and removes the temporary directory. - create_profile(): Static method to create a user profile by launching a browser for user interaction. - """ - - @staticmethod - def build_browser_flags(config: BrowserConfig) -> List[str]: - """Common CLI flags for launching Chromium""" - flags = [ - "--disable-gpu", - "--disable-gpu-compositing", - "--disable-software-rasterizer", - "--no-sandbox", - "--disable-dev-shm-usage", - "--no-first-run", - "--no-default-browser-check", - "--disable-infobars", - "--window-position=0,0", - "--ignore-certificate-errors", - "--ignore-certificate-errors-spki-list", - "--disable-blink-features=AutomationControlled", - "--window-position=400,0", - "--disable-renderer-backgrounding", - "--disable-ipc-flooding-protection", - "--force-color-profile=srgb", - "--mute-audio", - "--disable-background-timer-throttling", - ] - if config.light_mode: - flags.extend(BROWSER_DISABLE_OPTIONS) - if config.text_mode: - flags.extend([ - "--blink-settings=imagesEnabled=false", - "--disable-remote-fonts", - "--disable-images", - "--disable-javascript", - "--disable-software-rasterizer", - "--disable-dev-shm-usage", - ]) - # proxy support - if config.proxy: - flags.append(f"--proxy-server={config.proxy}") - elif config.proxy_config: - creds = "" - if config.proxy_config.username and config.proxy_config.password: - creds = f"{config.proxy_config.username}:{config.proxy_config.password}@" - flags.append(f"--proxy-server={creds}{config.proxy_config.server}") - # dedupe - return list(dict.fromkeys(flags)) - - browser_type: str - user_data_dir: str - headless: bool - browser_process: subprocess.Popen - temp_dir: str - debugging_port: int - host: str - - def __init__( - self, - browser_type: str = "chromium", - user_data_dir: Optional[str] = None, - headless: bool = False, - logger=None, - host: str = "localhost", - debugging_port: int = 9222, - cdp_url: Optional[str] = None, - browser_config: Optional[BrowserConfig] = None, - ): - """ - Initialize the ManagedBrowser instance. - - Args: - browser_type (str): The type of browser to launch. Supported values: "chromium", "firefox", "webkit". - Default: "chromium". - user_data_dir (str or None): Path to a user data directory for persistent sessions. If None, a - temporary directory may be used. Default: None. - headless (bool): Whether to run the browser in headless mode (no visible GUI). - Default: True. - logger (logging.Logger): Logger instance for logging messages. Default: None. - host (str): Host for debugging the browser. Default: "localhost". - debugging_port (int): Port for debugging the browser. Default: 9222. - cdp_url (str or None): CDP URL to connect to the browser. Default: None. - browser_config (BrowserConfig): Configuration object containing all browser settings. Default: None. - """ - self.browser_type = browser_config.browser_type - self.user_data_dir = browser_config.user_data_dir - self.headless = browser_config.headless - self.browser_process = None - self.temp_dir = None - self.debugging_port = browser_config.debugging_port - self.host = browser_config.host - self.logger = logger - self.shutting_down = False - self.cdp_url = browser_config.cdp_url - self.browser_config = browser_config - - async def start(self) -> str: - """ - Starts the browser process or returns CDP endpoint URL. - If cdp_url is provided, returns it directly. - If user_data_dir is not provided for local browser, creates a temporary directory. - - Returns: - str: CDP endpoint URL - """ - # If CDP URL provided, just return it - if self.cdp_url: - return self.cdp_url - - # Create temp dir if needed - if not self.user_data_dir: - self.temp_dir = tempfile.mkdtemp(prefix="browser-profile-") - self.user_data_dir = self.temp_dir - - # Get browser path and args based on OS and browser type - # browser_path = self._get_browser_path() - args = await self._get_browser_args() - - if self.browser_config.extra_args: - args.extend(self.browser_config.extra_args) - - - # ── make sure no old Chromium instance is owning the same port/profile ── - try: - if sys.platform == "win32": - if psutil is None: - raise RuntimeError("psutil not available, cannot clean old browser") - for p in psutil.process_iter(["pid", "name", "cmdline"]): - cl = " ".join(p.info.get("cmdline") or []) - if ( - f"--remote-debugging-port={self.debugging_port}" in cl - and f"--user-data-dir={self.user_data_dir}" in cl - ): - p.kill() - p.wait(timeout=5) - else: # macOS / Linux - # kill any process listening on the same debugging port - pids = ( - subprocess.check_output(shlex.split(f"lsof -t -i:{self.debugging_port}")) - .decode() - .strip() - .splitlines() - ) - for pid in pids: - try: - os.kill(int(pid), signal.SIGTERM) - except ProcessLookupError: - pass - - # remove Chromium singleton locks, or new launch exits with - # “Opening in existing browser session.” - for f in ("SingletonLock", "SingletonSocket", "SingletonCookie"): - fp = os.path.join(self.user_data_dir, f) - if os.path.exists(fp): - os.remove(fp) - except Exception as _e: - # non-fatal — we'll try to start anyway, but log what happened - self.logger.warning(f"pre-launch cleanup failed: {_e}", tag="BROWSER") - - - # Start browser process - try: - # Use DETACHED_PROCESS flag on Windows to fully detach the process - # On Unix, we'll use preexec_fn=os.setpgrp to start the process in a new process group - if sys.platform == "win32": - self.browser_process = subprocess.Popen( - args, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP - ) - else: - self.browser_process = subprocess.Popen( - args, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - preexec_fn=os.setpgrp # Start in a new process group - ) - - # We'll monitor for a short time to make sure it starts properly, but won't keep monitoring - await asyncio.sleep(0.5) # Give browser time to start - await self._initial_startup_check() - await asyncio.sleep(2) # Give browser time to start - return f"http://{self.host}:{self.debugging_port}" - except Exception as e: - await self.cleanup() - raise Exception(f"Failed to start browser: {e}") - - async def _initial_startup_check(self): - """ - Perform a quick check to make sure the browser started successfully. - This only runs once at startup rather than continuously monitoring. - """ - if not self.browser_process: - return - - # Check that process started without immediate termination - await asyncio.sleep(0.5) - if self.browser_process.poll() is not None: - # Process already terminated - stdout, stderr = b"", b"" - try: - stdout, stderr = self.browser_process.communicate(timeout=0.5) - except subprocess.TimeoutExpired: - pass - - self.logger.error( - message="Browser process terminated during startup | Code: {code} | STDOUT: {stdout} | STDERR: {stderr}", - tag="ERROR", - params={ - "code": self.browser_process.returncode, - "stdout": stdout.decode() if stdout else "", - "stderr": stderr.decode() if stderr else "", - }, - ) - - async def _monitor_browser_process(self): - """ - Monitor the browser process for unexpected termination. - - How it works: - 1. Read stdout and stderr from the browser process. - 2. If the process has terminated, log the error message and terminate the browser. - 3. If the shutting_down flag is set, log the normal termination message. - 4. If any other error occurs, log the error message. - - Note: This method should be called in a separate task to avoid blocking the main event loop. - This is DEPRECATED and should not be used for builtin browsers that need to outlive the Python process. - """ - if self.browser_process: - try: - stdout, stderr = await asyncio.gather( - asyncio.to_thread(self.browser_process.stdout.read), - asyncio.to_thread(self.browser_process.stderr.read), - ) - - # Check shutting_down flag BEFORE logging anything - if self.browser_process.poll() is not None: - if not self.shutting_down: - self.logger.error( - message="Browser process terminated unexpectedly | Code: {code} | STDOUT: {stdout} | STDERR: {stderr}", - tag="ERROR", - params={ - "code": self.browser_process.returncode, - "stdout": stdout.decode(), - "stderr": stderr.decode(), - }, - ) - await self.cleanup() - else: - self.logger.info( - message="Browser process terminated normally | Code: {code}", - tag="INFO", - params={"code": self.browser_process.returncode}, - ) - except Exception as e: - if not self.shutting_down: - self.logger.error( - message="Error monitoring browser process: {error}", - tag="ERROR", - params={"error": str(e)}, - ) - - def _get_browser_path_WIP(self) -> str: - """Returns the browser executable path based on OS and browser type""" - if sys.platform == "darwin": # macOS - paths = { - "chromium": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome", - "firefox": "/Applications/Firefox.app/Contents/MacOS/firefox", - "webkit": "/Applications/Safari.app/Contents/MacOS/Safari", - } - elif sys.platform == "win32": # Windows - paths = { - "chromium": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", - "firefox": "C:\\Program Files\\Mozilla Firefox\\firefox.exe", - "webkit": None, # WebKit not supported on Windows - } - else: # Linux - paths = { - "chromium": "google-chrome", - "firefox": "firefox", - "webkit": None, # WebKit not supported on Linux - } - - return paths.get(self.browser_type) - - async def _get_browser_path(self) -> str: - browser_path = await get_chromium_path(self.browser_type) - return browser_path - - async def _get_browser_args(self) -> List[str]: - """Returns full CLI args for launching the browser""" - base = [await self._get_browser_path()] - if self.browser_type == "chromium": - flags = [ - f"--remote-debugging-port={self.debugging_port}", - f"--user-data-dir={self.user_data_dir}", - ] - if self.headless: - flags.append("--headless=new") - # merge common launch flags - flags.extend(self.build_browser_flags(self.browser_config)) - elif self.browser_type == "firefox": - flags = [ - "--remote-debugging-port", - str(self.debugging_port), - "--profile", - self.user_data_dir, - ] - if self.headless: - flags.append("--headless") - else: - raise NotImplementedError(f"Browser type {self.browser_type} not supported") - return base + flags - - async def cleanup(self): - """Cleanup browser process and temporary directory""" - # Set shutting_down flag BEFORE any termination actions - self.shutting_down = True - - if self.browser_process: - try: - # For builtin browsers that should persist, we should check if it's a detached process - # Only terminate if we have proper control over the process - if not self.browser_process.poll(): - # Process is still running - self.browser_process.terminate() - # Wait for process to end gracefully - for _ in range(10): # 10 attempts, 100ms each - if self.browser_process.poll() is not None: - break - await asyncio.sleep(0.1) - - # Force kill if still running - if self.browser_process.poll() is None: - if sys.platform == "win32": - # On Windows we might need taskkill for detached processes - try: - subprocess.run(["taskkill", "/F", "/PID", str(self.browser_process.pid)]) - except Exception: - self.browser_process.kill() - else: - self.browser_process.kill() - await asyncio.sleep(0.1) # Brief wait for kill to take effect - - except Exception as e: - self.logger.error( - message="Error terminating browser: {error}", - tag="ERROR", - params={"error": str(e)}, - ) - - if self.temp_dir and os.path.exists(self.temp_dir): - try: - shutil.rmtree(self.temp_dir) - except Exception as e: - self.logger.error( - message="Error removing temporary directory: {error}", - tag="ERROR", - params={"error": str(e)}, - ) - - # These methods have been moved to BrowserProfiler class - @staticmethod - async def create_profile(browser_config=None, profile_name=None, logger=None): - """ - This method has been moved to the BrowserProfiler class. - - Creates a browser profile by launching a browser for interactive user setup - and waits until the user closes it. The profile is stored in a directory that - can be used later with BrowserConfig.user_data_dir. - - Please use BrowserProfiler.create_profile() instead. - - Example: - ```python - from crawl4ai.browser_profiler import BrowserProfiler - - profiler = BrowserProfiler() - profile_path = await profiler.create_profile(profile_name="my-login-profile") - ``` - """ - from .browser_profiler import BrowserProfiler - - # Create a BrowserProfiler instance and delegate to it - profiler = BrowserProfiler(logger=logger) - return await profiler.create_profile(profile_name=profile_name, browser_config=browser_config) - - @staticmethod - def list_profiles(): - """ - This method has been moved to the BrowserProfiler class. - - Lists all available browser profiles in the Crawl4AI profiles directory. - - Please use BrowserProfiler.list_profiles() instead. - - Example: - ```python - from crawl4ai.browser_profiler import BrowserProfiler - - profiler = BrowserProfiler() - profiles = profiler.list_profiles() - ``` - """ - from .browser_profiler import BrowserProfiler - - # Create a BrowserProfiler instance and delegate to it - profiler = BrowserProfiler() - return profiler.list_profiles() - - @staticmethod - def delete_profile(profile_name_or_path): - """ - This method has been moved to the BrowserProfiler class. - - Delete a browser profile by name or path. - - Please use BrowserProfiler.delete_profile() instead. - - Example: - ```python - from crawl4ai.browser_profiler import BrowserProfiler - - profiler = BrowserProfiler() - success = profiler.delete_profile("my-profile") - ``` - """ - from .browser_profiler import BrowserProfiler - - # Create a BrowserProfiler instance and delegate to it - profiler = BrowserProfiler() - return profiler.delete_profile(profile_name_or_path) - - -async def clone_runtime_state( - src: BrowserContext, - dst: BrowserContext, - crawlerRunConfig: CrawlerRunConfig | None = None, - browserConfig: BrowserConfig | None = None, -) -> None: - """ - Bring everything that *can* be changed at runtime from `src` → `dst`. - - 1. Cookies - 2. localStorage (and sessionStorage, same API) - 3. Extra headers, permissions, geolocation if supplied in configs - """ - - # ── 1. cookies ──────────────────────────────────────────────────────────── - cookies = await src.cookies() - if cookies: - await dst.add_cookies(cookies) - - # ── 2. localStorage / sessionStorage ────────────────────────────────────── - state = await src.storage_state() - for origin in state.get("origins", []): - url = origin["origin"] - kvs = origin.get("localStorage", []) - if not kvs: - continue - - page = dst.pages[0] if dst.pages else await dst.new_page() - await page.goto(url, wait_until="domcontentloaded") - for k, v in kvs: - await page.evaluate("(k,v)=>localStorage.setItem(k,v)", k, v) - - # ── 3. runtime-mutable extras from configs ──────────────────────────────── - # headers - if browserConfig and browserConfig.headers: - await dst.set_extra_http_headers(browserConfig.headers) - - # geolocation - if crawlerRunConfig and crawlerRunConfig.geolocation: - await dst.grant_permissions(["geolocation"]) - await dst.set_geolocation( - { - "latitude": crawlerRunConfig.geolocation.latitude, - "longitude": crawlerRunConfig.geolocation.longitude, - "accuracy": crawlerRunConfig.geolocation.accuracy, - } - ) - - return dst - - - -class BrowserManager: - """ - Manages the browser instance and context. - - Attributes: - config (BrowserConfig): Configuration object containing all browser settings - logger: Logger instance for recording events and errors - browser (Browser): The browser instance - default_context (BrowserContext): The default browser context - managed_browser (ManagedBrowser): The managed browser instance - playwright (Playwright): The Playwright instance - sessions (dict): Dictionary to store session information - session_ttl (int): Session timeout in seconds - """ - - _playwright_instance = None - - @classmethod - async def get_playwright(cls): - from playwright.async_api import async_playwright - cls._playwright_instance = await async_playwright().start() - return cls._playwright_instance - - def __init__(self, browser_config: BrowserConfig, logger=None): - """ - Initialize the BrowserManager with a browser configuration. - - Args: - browser_config (BrowserConfig): Configuration object containing all browser settings - logger: Logger instance for recording events and errors - """ - self.config: BrowserConfig = browser_config - self.logger = logger - - # Browser state - self.browser = None - self.default_context = None - self.managed_browser = None - self.playwright = None - - # Session management - self.sessions = {} - self.session_ttl = 1800 # 30 minutes - - # Keep track of contexts by a "config signature," so each unique config reuses a single context - self.contexts_by_config = {} - self._contexts_lock = asyncio.Lock() - - # Initialize ManagedBrowser if needed - if self.config.use_managed_browser: - self.managed_browser = ManagedBrowser( - browser_type=self.config.browser_type, - user_data_dir=self.config.user_data_dir, - headless=self.config.headless, - logger=self.logger, - debugging_port=self.config.debugging_port, - cdp_url=self.config.cdp_url, - browser_config=self.config, - ) - - async def start(self): - """ - Start the browser instance and set up the default context. - - How it works: - 1. Check if Playwright is already initialized. - 2. If not, initialize Playwright. - 3. If managed browser is used, start it and connect to the CDP endpoint. - 4. If managed browser is not used, launch the browser and set up the default context. - - Note: This method should be called in a separate task to avoid blocking the main event loop. - """ - if self.playwright is not None: - await self.close() - - from playwright.async_api import async_playwright - - self.playwright = await async_playwright().start() - - if self.config.cdp_url or self.config.use_managed_browser: - self.config.use_managed_browser = True - cdp_url = await self.managed_browser.start() if not self.config.cdp_url else self.config.cdp_url - self.browser = await self.playwright.chromium.connect_over_cdp(cdp_url) - contexts = self.browser.contexts - if contexts: - self.default_context = contexts[0] - else: - self.default_context = await self.create_browser_context() - await self.setup_context(self.default_context) - else: - browser_args = self._build_browser_args() - - # Launch appropriate browser type - if self.config.browser_type == "firefox": - self.browser = await self.playwright.firefox.launch(**browser_args) - elif self.config.browser_type == "webkit": - self.browser = await self.playwright.webkit.launch(**browser_args) - else: - self.browser = await self.playwright.chromium.launch(**browser_args) - - self.default_context = self.browser - - - def _build_browser_args(self) -> dict: - """Build browser launch arguments from config.""" - args = [ - "--disable-gpu", - "--disable-gpu-compositing", - "--disable-software-rasterizer", - "--no-sandbox", - "--disable-dev-shm-usage", - "--no-first-run", - "--no-default-browser-check", - "--disable-infobars", - "--window-position=0,0", - "--ignore-certificate-errors", - "--ignore-certificate-errors-spki-list", - "--disable-blink-features=AutomationControlled", - "--window-position=400,0", - "--disable-renderer-backgrounding", - "--disable-ipc-flooding-protection", - "--force-color-profile=srgb", - "--mute-audio", - "--disable-background-timer-throttling", - # "--single-process", - f"--window-size={self.config.viewport_width},{self.config.viewport_height}", - ] - - if self.config.light_mode: - args.extend(BROWSER_DISABLE_OPTIONS) - - if self.config.text_mode: - args.extend( - [ - "--blink-settings=imagesEnabled=false", - "--disable-remote-fonts", - "--disable-images", - "--disable-javascript", - "--disable-software-rasterizer", - "--disable-dev-shm-usage", - ] - ) - - if self.config.extra_args: - args.extend(self.config.extra_args) - - # Deduplicate args - args = list(dict.fromkeys(args)) - - browser_args = {"headless": self.config.headless, "args": args} - - if self.config.chrome_channel: - browser_args["channel"] = self.config.chrome_channel - - if self.config.accept_downloads: - browser_args["downloads_path"] = self.config.downloads_path or os.path.join( - os.getcwd(), "downloads" - ) - os.makedirs(browser_args["downloads_path"], exist_ok=True) - - if self.config.proxy or self.config.proxy_config: - from playwright.async_api import ProxySettings - - proxy_settings = ( - ProxySettings(server=self.config.proxy) - if self.config.proxy - else ProxySettings( - server=self.config.proxy_config.server, - username=self.config.proxy_config.username, - password=self.config.proxy_config.password, - ) - ) - browser_args["proxy"] = proxy_settings - - return browser_args - - async def setup_context( - self, - context: BrowserContext, - crawlerRunConfig: CrawlerRunConfig = None, - is_default=False, - ): - """ - Set up a browser context with the configured options. - - How it works: - 1. Set extra HTTP headers if provided. - 2. Add cookies if provided. - 3. Load storage state if provided. - 4. Accept downloads if enabled. - 5. Set default timeouts for navigation and download. - 6. Set user agent if provided. - 7. Set browser hints if provided. - 8. Set proxy if provided. - 9. Set downloads path if provided. - 10. Set storage state if provided. - 11. Set cache if provided. - 12. Set extra HTTP headers if provided. - 13. Add cookies if provided. - 14. Set default timeouts for navigation and download if enabled. - 15. Set user agent if provided. - 16. Set browser hints if provided. - - Args: - context (BrowserContext): The browser context to set up - crawlerRunConfig (CrawlerRunConfig): Configuration object containing all browser settings - is_default (bool): Flag indicating if this is the default context - Returns: - None - """ - if self.config.headers: - await context.set_extra_http_headers(self.config.headers) - - if self.config.cookies: - await context.add_cookies(self.config.cookies) - - if self.config.storage_state: - await context.storage_state(path=None) - - if self.config.accept_downloads: - context.set_default_timeout(DOWNLOAD_PAGE_TIMEOUT) - context.set_default_navigation_timeout(DOWNLOAD_PAGE_TIMEOUT) - if self.config.downloads_path: - context._impl_obj._options["accept_downloads"] = True - context._impl_obj._options[ - "downloads_path" - ] = self.config.downloads_path - - # Handle user agent and browser hints - if self.config.user_agent: - combined_headers = { - "User-Agent": self.config.user_agent, - "sec-ch-ua": self.config.browser_hint, - } - combined_headers.update(self.config.headers) - await context.set_extra_http_headers(combined_headers) - - # Add default cookie - await context.add_cookies( - [ - { - "name": "cookiesEnabled", - "value": "true", - "url": crawlerRunConfig.url - if crawlerRunConfig and crawlerRunConfig.url - else "https://crawl4ai.com/", - } - ] - ) - - # Handle navigator overrides - if crawlerRunConfig: - if ( - crawlerRunConfig.override_navigator - or crawlerRunConfig.simulate_user - or crawlerRunConfig.magic - ): - await context.add_init_script(load_js_script("navigator_overrider")) - - async def create_browser_context(self, crawlerRunConfig: CrawlerRunConfig = None): - """ - Creates and returns a new browser context with configured settings. - Applies text-only mode settings if text_mode is enabled in config. - - Returns: - Context: Browser context object with the specified configurations - """ - # Base settings - user_agent = self.config.headers.get("User-Agent", self.config.user_agent) - viewport_settings = { - "width": self.config.viewport_width, - "height": self.config.viewport_height, - } - proxy_settings = {"server": self.config.proxy} if self.config.proxy else None - - blocked_extensions = [ - # Images - "jpg", - "jpeg", - "png", - "gif", - "webp", - "svg", - "ico", - "bmp", - "tiff", - "psd", - # Fonts - "woff", - "woff2", - "ttf", - "otf", - "eot", - # Styles - # 'css', 'less', 'scss', 'sass', - # Media - "mp4", - "webm", - "ogg", - "avi", - "mov", - "wmv", - "flv", - "m4v", - "mp3", - "wav", - "aac", - "m4a", - "opus", - "flac", - # Documents - "pdf", - "doc", - "docx", - "xls", - "xlsx", - "ppt", - "pptx", - # Archives - "zip", - "rar", - "7z", - "tar", - "gz", - # Scripts and data - "xml", - "swf", - "wasm", - ] - - # Common context settings - context_settings = { - "user_agent": user_agent, - "viewport": viewport_settings, - "proxy": proxy_settings, - "accept_downloads": self.config.accept_downloads, - "storage_state": self.config.storage_state, - "ignore_https_errors": self.config.ignore_https_errors, - "device_scale_factor": 1.0, - "java_script_enabled": self.config.java_script_enabled, - } - - if crawlerRunConfig: - # Check if there is value for crawlerRunConfig.proxy_config set add that to context - if crawlerRunConfig.proxy_config: - proxy_settings = { - "server": crawlerRunConfig.proxy_config.server, - } - if crawlerRunConfig.proxy_config.username: - proxy_settings.update({ - "username": crawlerRunConfig.proxy_config.username, - "password": crawlerRunConfig.proxy_config.password, - }) - context_settings["proxy"] = proxy_settings - - if self.config.text_mode: - text_mode_settings = { - "has_touch": False, - "is_mobile": False, - } - # Update context settings with text mode settings - context_settings.update(text_mode_settings) - - # inject locale / tz / geo if user provided them - if crawlerRunConfig: - if crawlerRunConfig.locale: - context_settings["locale"] = crawlerRunConfig.locale - if crawlerRunConfig.timezone_id: - context_settings["timezone_id"] = crawlerRunConfig.timezone_id - if crawlerRunConfig.geolocation: - context_settings["geolocation"] = { - "latitude": crawlerRunConfig.geolocation.latitude, - "longitude": crawlerRunConfig.geolocation.longitude, - "accuracy": crawlerRunConfig.geolocation.accuracy, - } - # ensure geolocation permission - perms = context_settings.get("permissions", []) - perms.append("geolocation") - context_settings["permissions"] = perms - - # Create and return the context with all settings - context = await self.browser.new_context(**context_settings) - - # Apply text mode settings if enabled - if self.config.text_mode: - # Create and apply route patterns for each extension - for ext in blocked_extensions: - await context.route(f"**/*.{ext}", lambda route: route.abort()) - return context - - def _make_config_signature(self, crawlerRunConfig: CrawlerRunConfig) -> str: - """ - Converts the crawlerRunConfig into a dict, excludes ephemeral fields, - then returns a hash of the sorted JSON. This yields a stable signature - that identifies configurations requiring a unique browser context. - """ - import json - - config_dict = crawlerRunConfig.__dict__.copy() - # Exclude items that do not affect browser-level setup. - # Expand or adjust as needed, e.g. chunking_strategy is purely for data extraction, not for browser config. - ephemeral_keys = [ - "session_id", - "js_code", - "scraping_strategy", - "extraction_strategy", - "chunking_strategy", - "cache_mode", - "content_filter", - "semaphore_count", - "url" - ] - - # Do NOT exclude locale, timezone_id, or geolocation as these DO affect browser context - # and should cause a new context to be created if they change - - for key in ephemeral_keys: - if key in config_dict: - del config_dict[key] - # Convert to canonical JSON string - signature_json = json.dumps(config_dict, sort_keys=True, default=str) - - # Hash the JSON so we get a compact, unique string - signature_hash = hashlib.sha256(signature_json.encode("utf-8")).hexdigest() - return signature_hash - - async def get_page(self, crawlerRunConfig: CrawlerRunConfig): - """ - Get a page for the given session ID, creating a new one if needed. - - Args: - crawlerRunConfig (CrawlerRunConfig): Configuration object containing all browser settings - - Returns: - (page, context): The Page and its BrowserContext - """ - self._cleanup_expired_sessions() - - # If a session_id is provided and we already have it, reuse that page + context - if crawlerRunConfig.session_id and crawlerRunConfig.session_id in self.sessions: - context, page, _ = self.sessions[crawlerRunConfig.session_id] - # Update last-used timestamp - self.sessions[crawlerRunConfig.session_id] = (context, page, time.time()) - return page, context - - # If using a managed browser, just grab the shared default_context - if self.config.use_managed_browser: - if self.config.storage_state: - context = await self.create_browser_context(crawlerRunConfig) - ctx = self.default_context # default context, one window only - ctx = await clone_runtime_state(context, ctx, crawlerRunConfig, self.config) - page = await ctx.new_page() - else: - context = self.default_context - pages = context.pages - page = next((p for p in pages if p.url == crawlerRunConfig.url), None) - if not page: - page = context.pages[0] # await context.new_page() - else: - # Otherwise, check if we have an existing context for this config - config_signature = self._make_config_signature(crawlerRunConfig) - - async with self._contexts_lock: - if config_signature in self.contexts_by_config: - context = self.contexts_by_config[config_signature] - else: - # Create and setup a new context - context = await self.create_browser_context(crawlerRunConfig) - await self.setup_context(context, crawlerRunConfig) - self.contexts_by_config[config_signature] = context - - # Create a new page from the chosen context - page = await context.new_page() - - # If a session_id is specified, store this session so we can reuse later - if crawlerRunConfig.session_id: - self.sessions[crawlerRunConfig.session_id] = (context, page, time.time()) - - return page, context - - async def kill_session(self, session_id: str): - """ - Kill a browser session and clean up resources. - - Args: - session_id (str): The session ID to kill. - """ - if session_id in self.sessions: - context, page, _ = self.sessions[session_id] - await page.close() - if not self.config.use_managed_browser: - await context.close() - del self.sessions[session_id] - - def _cleanup_expired_sessions(self): - """Clean up expired sessions based on TTL.""" - current_time = time.time() - expired_sessions = [ - sid - for sid, (_, _, last_used) in self.sessions.items() - if current_time - last_used > self.session_ttl - ] - for sid in expired_sessions: - asyncio.create_task(self.kill_session(sid)) - - async def close(self): - """Close all browser resources and clean up.""" - if self.config.cdp_url: - return - - if self.config.sleep_on_close: - await asyncio.sleep(0.5) - - session_ids = list(self.sessions.keys()) - for session_id in session_ids: - await self.kill_session(session_id) - - # Now close all contexts we created. This reclaims memory from ephemeral contexts. - for ctx in self.contexts_by_config.values(): - try: - await ctx.close() - except Exception as e: - self.logger.error( - message="Error closing context: {error}", - tag="ERROR", - params={"error": str(e)} - ) - self.contexts_by_config.clear() - - if self.browser: - await self.browser.close() - self.browser = None - - if self.managed_browser: - await asyncio.sleep(0.5) - await self.managed_browser.cleanup() - self.managed_browser = None - - if self.playwright: - await self.playwright.stop() - self.playwright = None - -``` - - -## File: crawl4ai/cache_context.py - -```py -from enum import Enum - - -class CacheMode(Enum): - """ - Defines the caching behavior for web crawling operations. - - Modes: - - ENABLED: Normal caching behavior (read and write) - - DISABLED: No caching at all - - READ_ONLY: Only read from cache, don't write - - WRITE_ONLY: Only write to cache, don't read - - BYPASS: Bypass cache for this operation - """ - - ENABLED = "enabled" - DISABLED = "disabled" - READ_ONLY = "read_only" - WRITE_ONLY = "write_only" - BYPASS = "bypass" - - -class CacheContext: - """ - Encapsulates cache-related decisions and URL handling. - - This class centralizes all cache-related logic and URL type checking, - making the caching behavior more predictable and maintainable. - - Attributes: - url (str): The URL being processed. - cache_mode (CacheMode): The cache mode for the current operation. - always_bypass (bool): If True, bypasses caching for this operation. - is_cacheable (bool): True if the URL is cacheable, False otherwise. - is_web_url (bool): True if the URL is a web URL, False otherwise. - is_local_file (bool): True if the URL is a local file, False otherwise. - is_raw_html (bool): True if the URL is raw HTML, False otherwise. - _url_display (str): The display name for the URL (web, local file, or raw HTML). - """ - - def __init__(self, url: str, cache_mode: CacheMode, always_bypass: bool = False): - """ - Initializes the CacheContext with the provided URL and cache mode. - - Args: - url (str): The URL being processed. - cache_mode (CacheMode): The cache mode for the current operation. - always_bypass (bool): If True, bypasses caching for this operation. - """ - self.url = url - self.cache_mode = cache_mode - self.always_bypass = always_bypass - self.is_cacheable = url.startswith(("http://", "https://", "file://")) - self.is_web_url = url.startswith(("http://", "https://")) - self.is_local_file = url.startswith("file://") - self.is_raw_html = url.startswith("raw:") - self._url_display = url if not self.is_raw_html else "Raw HTML" - - def should_read(self) -> bool: - """ - Determines if cache should be read based on context. - - How it works: - 1. If always_bypass is True or is_cacheable is False, return False. - 2. If cache_mode is ENABLED or READ_ONLY, return True. - - Returns: - bool: True if cache should be read, False otherwise. - """ - if self.always_bypass or not self.is_cacheable: - return False - return self.cache_mode in [CacheMode.ENABLED, CacheMode.READ_ONLY] - - def should_write(self) -> bool: - """ - Determines if cache should be written based on context. - - How it works: - 1. If always_bypass is True or is_cacheable is False, return False. - 2. If cache_mode is ENABLED or WRITE_ONLY, return True. - - Returns: - bool: True if cache should be written, False otherwise. - """ - if self.always_bypass or not self.is_cacheable: - return False - return self.cache_mode in [CacheMode.ENABLED, CacheMode.WRITE_ONLY] - - @property - def display_url(self) -> str: - """Returns the URL in display format.""" - return self._url_display - - -def _legacy_to_cache_mode( - disable_cache: bool = False, - bypass_cache: bool = False, - no_cache_read: bool = False, - no_cache_write: bool = False, -) -> CacheMode: - """ - Converts legacy cache parameters to the new CacheMode enum. - - This is an internal function to help transition from the old boolean flags - to the new CacheMode system. - """ - if disable_cache: - return CacheMode.DISABLED - if bypass_cache: - return CacheMode.BYPASS - if no_cache_read and no_cache_write: - return CacheMode.DISABLED - if no_cache_read: - return CacheMode.WRITE_ONLY - if no_cache_write: - return CacheMode.READ_ONLY - return CacheMode.ENABLED - -``` - - -## File: crawl4ai/content_filter_strategy.py - -```py -import inspect -import re -import time -from bs4 import BeautifulSoup, Tag -from typing import List, Tuple, Dict, Optional -from rank_bm25 import BM25Okapi -from collections import deque -from bs4 import NavigableString, Comment - -from .utils import ( - clean_tokens, - perform_completion_with_backoff, - escape_json_string, - sanitize_html, - get_home_folder, - extract_xml_data, - merge_chunks, -) -from .types import LLMConfig -from .config import DEFAULT_PROVIDER, OVERLAP_RATE, WORD_TOKEN_RATE -from abc import ABC, abstractmethod -import math -from snowballstemmer import stemmer -from .models import TokenUsage -from .prompts import PROMPT_FILTER_CONTENT -import json -import hashlib -from pathlib import Path -from concurrent.futures import ThreadPoolExecutor -from .async_logger import AsyncLogger, LogLevel, LogColor - - -class RelevantContentFilter(ABC): - """Abstract base class for content filtering strategies""" - - def __init__( - self, - user_query: str = None, - verbose: bool = False, - logger: Optional[AsyncLogger] = None, - ): - """ - Initializes the RelevantContentFilter class with optional user query. - - Args: - user_query (str): User query for filtering (optional). - verbose (bool): Enable verbose logging (default: False). - """ - self.user_query = user_query - self.included_tags = { - # Primary structure - "article", - "main", - "section", - "div", - # List structures - "ul", - "ol", - "li", - "dl", - "dt", - "dd", - # Text content - "p", - "span", - "blockquote", - "pre", - "code", - # Headers - "h1", - "h2", - "h3", - "h4", - "h5", - "h6", - # Tables - "table", - "thead", - "tbody", - "tr", - "td", - "th", - # Other semantic elements - "figure", - "figcaption", - "details", - "summary", - # Text formatting - "em", - "strong", - "b", - "i", - "mark", - "small", - # Rich content - "time", - "address", - "cite", - "q", - } - self.excluded_tags = { - "nav", - "footer", - "header", - "aside", - "script", - "style", - "form", - "iframe", - "noscript", - } - self.header_tags = {"h1", "h2", "h3", "h4", "h5", "h6"} - self.negative_patterns = re.compile( - r"nav|footer|header|sidebar|ads|comment|promo|advert|social|share", re.I - ) - self.min_word_count = 2 - self.verbose = False - self.logger = logger - - @abstractmethod - def filter_content(self, html: str) -> List[str]: - """Abstract method to be implemented by specific filtering strategies""" - pass - - def extract_page_query(self, soup: BeautifulSoup, body: Tag) -> str: - """Common method to extract page metadata with fallbacks""" - if self.user_query: - return self.user_query - - query_parts = [] - - # Title - try: - title = soup.title.string - if title: - query_parts.append(title) - except Exception: - pass - - if soup.find("h1"): - query_parts.append(soup.find("h1").get_text()) - - # Meta tags - temp = "" - for meta_name in ["keywords", "description"]: - meta = soup.find("meta", attrs={"name": meta_name}) - if meta and meta.get("content"): - query_parts.append(meta["content"]) - temp += meta["content"] - - # If still empty, grab first significant paragraph - if not temp: - # Find the first tag P thatits text contains more than 50 characters - for p in body.find_all("p"): - if len(p.get_text()) > 150: - query_parts.append(p.get_text()[:150]) - break - - return " ".join(filter(None, query_parts)) - - def extract_text_chunks( - self, body: Tag, min_word_threshold: int = None - ) -> List[Tuple[str, str]]: - """ - Extracts text chunks from a BeautifulSoup body element while preserving order. - Returns list of tuples (text, tag_name) for classification. - - Args: - body: BeautifulSoup Tag object representing the body element - - Returns: - List of (text, tag_name) tuples - """ - # Tags to ignore - inline elements that shouldn't break text flow - INLINE_TAGS = { - "a", - "abbr", - "acronym", - "b", - "bdo", - "big", - "br", - "button", - "cite", - "code", - "dfn", - "em", - "i", - "img", - "input", - "kbd", - "label", - "map", - "object", - "q", - "samp", - "script", - "select", - "small", - "span", - "strong", - "sub", - "sup", - "textarea", - "time", - "tt", - "var", - } - - # Tags that typically contain meaningful headers - HEADER_TAGS = {"h1", "h2", "h3", "h4", "h5", "h6", "header"} - - chunks = [] - current_text = [] - chunk_index = 0 - - def should_break_chunk(tag: Tag) -> bool: - """Determine if a tag should cause a break in the current text chunk""" - return tag.name not in INLINE_TAGS and not ( - tag.name == "p" and len(current_text) == 0 - ) - - # Use deque for efficient push/pop operations - stack = deque([(body, False)]) - - while stack: - element, visited = stack.pop() - - if visited: - # End of block element - flush accumulated text - if current_text and should_break_chunk(element): - text = " ".join("".join(current_text).split()) - if text: - tag_type = ( - "header" if element.name in HEADER_TAGS else "content" - ) - chunks.append((chunk_index, text, tag_type, element)) - chunk_index += 1 - current_text = [] - continue - - if isinstance(element, NavigableString): - if str(element).strip(): - current_text.append(str(element).strip()) - continue - - # Pre-allocate children to avoid multiple list operations - children = list(element.children) - if not children: - continue - - # Mark block for revisit after processing children - stack.append((element, True)) - - # Add children in reverse order for correct processing - for child in reversed(children): - if isinstance(child, (Tag, NavigableString)): - stack.append((child, False)) - - # Handle any remaining text - if current_text: - text = " ".join("".join(current_text).split()) - if text: - chunks.append((chunk_index, text, "content", body)) - - if min_word_threshold: - chunks = [ - chunk for chunk in chunks if len(chunk[1].split()) >= min_word_threshold - ] - - return chunks - - def _deprecated_extract_text_chunks( - self, soup: BeautifulSoup - ) -> List[Tuple[int, str, Tag]]: - """Common method for extracting text chunks""" - _text_cache = {} - - def fast_text(element: Tag) -> str: - elem_id = id(element) - if elem_id in _text_cache: - return _text_cache[elem_id] - texts = [] - for content in element.contents: - if isinstance(content, str): - text = content.strip() - if text: - texts.append(text) - result = " ".join(texts) - _text_cache[elem_id] = result - return result - - candidates = [] - index = 0 - - def dfs(element): - nonlocal index - if isinstance(element, Tag): - if element.name in self.included_tags: - if not self.is_excluded(element): - text = fast_text(element) - word_count = len(text.split()) - - # Headers pass through with adjusted minimum - if element.name in self.header_tags: - if word_count >= 3: # Minimal sanity check for headers - candidates.append((index, text, element)) - index += 1 - # Regular content uses standard minimum - elif word_count >= self.min_word_count: - candidates.append((index, text, element)) - index += 1 - - for child in element.children: - dfs(child) - - dfs(soup.body if soup.body else soup) - return candidates - - def is_excluded(self, tag: Tag) -> bool: - """Common method for exclusion logic""" - if tag.name in self.excluded_tags: - return True - class_id = " ".join( - filter(None, [" ".join(tag.get("class", [])), tag.get("id", "")]) - ) - return bool(self.negative_patterns.search(class_id)) - - def clean_element(self, tag: Tag) -> str: - """Common method for cleaning HTML elements with minimal overhead""" - if not tag or not isinstance(tag, Tag): - return "" - - unwanted_tags = {"script", "style", "aside", "form", "iframe", "noscript"} - unwanted_attrs = { - "style", - "onclick", - "onmouseover", - "align", - "bgcolor", - "class", - "id", - } - - # Use string builder pattern for better performance - builder = [] - - def render_tag(elem): - if not isinstance(elem, Tag): - if isinstance(elem, str): - builder.append(elem.strip()) - return - - if elem.name in unwanted_tags: - return - - # Start tag - builder.append(f"<{elem.name}") - - # Add cleaned attributes - attrs = {k: v for k, v in elem.attrs.items() if k not in unwanted_attrs} - for key, value in attrs.items(): - builder.append(f' {key}="{value}"') - - builder.append(">") - - # Process children - for child in elem.children: - render_tag(child) - - # Close tag - builder.append(f"") - - try: - render_tag(tag) - return "".join(builder) - except Exception: - return str(tag) # Fallback to original if anything fails - - -class BM25ContentFilter(RelevantContentFilter): - """ - Content filtering using BM25 algorithm with priority tag handling. - - How it works: - 1. Extracts page metadata with fallbacks. - 2. Extracts text chunks from the body element. - 3. Tokenizes the corpus and query. - 4. Applies BM25 algorithm to calculate scores for each chunk. - 5. Filters out chunks below the threshold. - 6. Sorts chunks by score in descending order. - 7. Returns the top N chunks. - - Attributes: - user_query (str): User query for filtering (optional). - bm25_threshold (float): BM25 threshold for filtering (default: 1.0). - language (str): Language for stemming (default: 'english'). - - Methods: - filter_content(self, html: str, min_word_threshold: int = None) - """ - - def __init__( - self, - user_query: str = None, - bm25_threshold: float = 1.0, - language: str = "english", - ): - """ - Initializes the BM25ContentFilter class, if not provided, falls back to page metadata. - - Note: - If no query is given and no page metadata is available, then it tries to pick up the first significant paragraph. - - Args: - user_query (str): User query for filtering (optional). - bm25_threshold (float): BM25 threshold for filtering (default: 1.0). - language (str): Language for stemming (default: 'english'). - """ - super().__init__(user_query=user_query) - self.bm25_threshold = bm25_threshold - self.priority_tags = { - "h1": 5.0, - "h2": 4.0, - "h3": 3.0, - "title": 4.0, - "strong": 2.0, - "b": 1.5, - "em": 1.5, - "blockquote": 2.0, - "code": 2.0, - "pre": 1.5, - "th": 1.5, # Table headers - } - self.stemmer = stemmer(language) - - def filter_content(self, html: str, min_word_threshold: int = None) -> List[str]: - """ - Implements content filtering using BM25 algorithm with priority tag handling. - - Note: - This method implements the filtering logic for the BM25ContentFilter class. - It takes HTML content as input and returns a list of filtered text chunks. - - Args: - html (str): HTML content to be filtered. - min_word_threshold (int): Minimum word threshold for filtering (optional). - - Returns: - List[str]: List of filtered text chunks. - """ - if not html or not isinstance(html, str): - return [] - - soup = BeautifulSoup(html, "lxml") - - # Check if body is present - if not soup.body: - # Wrap in body tag if missing - soup = BeautifulSoup(f"{html}", "lxml") - body = soup.find("body") - - query = self.extract_page_query(soup, body) - - if not query: - return [] - # return [self.clean_element(soup)] - - candidates = self.extract_text_chunks(body, min_word_threshold) - - if not candidates: - return [] - - # Tokenize corpus - # tokenized_corpus = [chunk.lower().split() for _, chunk, _, _ in candidates] - # tokenized_query = query.lower().split() - - # tokenized_corpus = [[ps.stem(word) for word in chunk.lower().split()] - # for _, chunk, _, _ in candidates] - # tokenized_query = [ps.stem(word) for word in query.lower().split()] - - tokenized_corpus = [ - [self.stemmer.stemWord(word) for word in chunk.lower().split()] - for _, chunk, _, _ in candidates - ] - tokenized_query = [ - self.stemmer.stemWord(word) for word in query.lower().split() - ] - - # tokenized_corpus = [[self.stemmer.stemWord(word) for word in tokenize_text(chunk.lower())] - # for _, chunk, _, _ in candidates] - # tokenized_query = [self.stemmer.stemWord(word) for word in tokenize_text(query.lower())] - - # Clean from stop words and noise - tokenized_corpus = [clean_tokens(tokens) for tokens in tokenized_corpus] - tokenized_query = clean_tokens(tokenized_query) - - bm25 = BM25Okapi(tokenized_corpus) - scores = bm25.get_scores(tokenized_query) - - # Adjust scores with tag weights - adjusted_candidates = [] - for score, (index, chunk, tag_type, tag) in zip(scores, candidates): - tag_weight = self.priority_tags.get(tag.name, 1.0) - adjusted_score = score * tag_weight - adjusted_candidates.append((adjusted_score, index, chunk, tag)) - - # Filter candidates by threshold - selected_candidates = [ - (index, chunk, tag) - for adjusted_score, index, chunk, tag in adjusted_candidates - if adjusted_score >= self.bm25_threshold - ] - - if not selected_candidates: - return [] - - # Sort selected candidates by original document order - selected_candidates.sort(key=lambda x: x[0]) - - return [self.clean_element(tag) for _, _, tag in selected_candidates] - - -class PruningContentFilter(RelevantContentFilter): - """ - Content filtering using pruning algorithm with dynamic threshold. - - How it works: - 1. Extracts page metadata with fallbacks. - 2. Extracts text chunks from the body element. - 3. Applies pruning algorithm to calculate scores for each chunk. - 4. Filters out chunks below the threshold. - 5. Sorts chunks by score in descending order. - 6. Returns the top N chunks. - - Attributes: - user_query (str): User query for filtering (optional), if not provided, falls back to page metadata. - min_word_threshold (int): Minimum word threshold for filtering (optional). - threshold_type (str): Threshold type for dynamic threshold (default: 'fixed'). - threshold (float): Fixed threshold value (default: 0.48). - - Methods: - filter_content(self, html: str, min_word_threshold: int = None): - """ - - def __init__( - self, - user_query: str = None, - min_word_threshold: int = None, - threshold_type: str = "fixed", - threshold: float = 0.48, - ): - """ - Initializes the PruningContentFilter class, if not provided, falls back to page metadata. - - Note: - If no query is given and no page metadata is available, then it tries to pick up the first significant paragraph. - - Args: - user_query (str): User query for filtering (optional). - min_word_threshold (int): Minimum word threshold for filtering (optional). - threshold_type (str): Threshold type for dynamic threshold (default: 'fixed'). - threshold (float): Fixed threshold value (default: 0.48). - """ - super().__init__(None) - self.min_word_threshold = min_word_threshold - self.threshold_type = threshold_type - self.threshold = threshold - - # Add tag importance for dynamic threshold - self.tag_importance = { - "article": 1.5, - "main": 1.4, - "section": 1.3, - "p": 1.2, - "h1": 1.4, - "h2": 1.3, - "h3": 1.2, - "div": 0.7, - "span": 0.6, - } - - # Metric configuration - self.metric_config = { - "text_density": True, - "link_density": True, - "tag_weight": True, - "class_id_weight": True, - "text_length": True, - } - - self.metric_weights = { - "text_density": 0.4, - "link_density": 0.2, - "tag_weight": 0.2, - "class_id_weight": 0.1, - "text_length": 0.1, - } - - self.tag_weights = { - "div": 0.5, - "p": 1.0, - "article": 1.5, - "section": 1.0, - "span": 0.3, - "li": 0.5, - "ul": 0.5, - "ol": 0.5, - "h1": 1.2, - "h2": 1.1, - "h3": 1.0, - "h4": 0.9, - "h5": 0.8, - "h6": 0.7, - } - - def filter_content(self, html: str, min_word_threshold: int = None) -> List[str]: - """ - Implements content filtering using pruning algorithm with dynamic threshold. - - Note: - This method implements the filtering logic for the PruningContentFilter class. - It takes HTML content as input and returns a list of filtered text chunks. - - Args: - html (str): HTML content to be filtered. - min_word_threshold (int): Minimum word threshold for filtering (optional). - - Returns: - List[str]: List of filtered text chunks. - """ - if not html or not isinstance(html, str): - return [] - - soup = BeautifulSoup(html, "lxml") - if not soup.body: - soup = BeautifulSoup(f"{html}", "lxml") - - # Remove comments and unwanted tags - self._remove_comments(soup) - self._remove_unwanted_tags(soup) - - # Prune tree starting from body - body = soup.find("body") - self._prune_tree(body) - - # Extract remaining content as list of HTML strings - content_blocks = [] - for element in body.children: - if isinstance(element, str) or not hasattr(element, "name"): - continue - if len(element.get_text(strip=True)) > 0: - content_blocks.append(str(element)) - - return content_blocks - - def _remove_comments(self, soup): - """Removes HTML comments""" - for element in soup(text=lambda text: isinstance(text, Comment)): - element.extract() - - def _remove_unwanted_tags(self, soup): - """Removes unwanted tags""" - for tag in self.excluded_tags: - for element in soup.find_all(tag): - element.decompose() - - def _prune_tree(self, node): - """ - Prunes the tree starting from the given node. - - Args: - node (Tag): The node from which the pruning starts. - """ - if not node or not hasattr(node, "name") or node.name is None: - return - - text_len = len(node.get_text(strip=True)) - tag_len = len(node.encode_contents().decode("utf-8")) - link_text_len = sum( - len(s.strip()) - for s in (a.string for a in node.find_all("a", recursive=False)) - if s - ) - - metrics = { - "node": node, - "tag_name": node.name, - "text_len": text_len, - "tag_len": tag_len, - "link_text_len": link_text_len, - } - - score = self._compute_composite_score(metrics, text_len, tag_len, link_text_len) - - if self.threshold_type == "fixed": - should_remove = score < self.threshold - else: # dynamic - tag_importance = self.tag_importance.get(node.name, 0.7) - text_ratio = text_len / tag_len if tag_len > 0 else 0 - link_ratio = link_text_len / text_len if text_len > 0 else 1 - - threshold = self.threshold # base threshold - if tag_importance > 1: - threshold *= 0.8 - if text_ratio > 0.4: - threshold *= 0.9 - if link_ratio > 0.6: - threshold *= 1.2 - - should_remove = score < threshold - - if should_remove: - node.decompose() - else: - children = [child for child in node.children if hasattr(child, "name")] - for child in children: - self._prune_tree(child) - - def _compute_composite_score(self, metrics, text_len, tag_len, link_text_len): - """Computes the composite score""" - if self.min_word_threshold: - # Get raw text from metrics node - avoid extra processing - text = metrics["node"].get_text(strip=True) - word_count = text.count(" ") + 1 - if word_count < self.min_word_threshold: - return -1.0 # Guaranteed removal - score = 0.0 - total_weight = 0.0 - - if self.metric_config["text_density"]: - density = text_len / tag_len if tag_len > 0 else 0 - score += self.metric_weights["text_density"] * density - total_weight += self.metric_weights["text_density"] - - if self.metric_config["link_density"]: - density = 1 - (link_text_len / text_len if text_len > 0 else 0) - score += self.metric_weights["link_density"] * density - total_weight += self.metric_weights["link_density"] - - if self.metric_config["tag_weight"]: - tag_score = self.tag_weights.get(metrics["tag_name"], 0.5) - score += self.metric_weights["tag_weight"] * tag_score - total_weight += self.metric_weights["tag_weight"] - - if self.metric_config["class_id_weight"]: - class_score = self._compute_class_id_weight(metrics["node"]) - score += self.metric_weights["class_id_weight"] * max(0, class_score) - total_weight += self.metric_weights["class_id_weight"] - - if self.metric_config["text_length"]: - score += self.metric_weights["text_length"] * math.log(text_len + 1) - total_weight += self.metric_weights["text_length"] - - return score / total_weight if total_weight > 0 else 0 - - def _compute_class_id_weight(self, node): - """Computes the class ID weight""" - class_id_score = 0 - if "class" in node.attrs: - classes = " ".join(node["class"]) - if self.negative_patterns.match(classes): - class_id_score -= 0.5 - if "id" in node.attrs: - element_id = node["id"] - if self.negative_patterns.match(element_id): - class_id_score -= 0.5 - return class_id_score - - -class LLMContentFilter(RelevantContentFilter): - """Content filtering using LLMs to generate relevant markdown. - - How it works: - 1. Extracts page metadata with fallbacks. - 2. Extracts text chunks from the body element. - 3. Applies LLMs to generate markdown for each chunk. - 4. Filters out chunks below the threshold. - 5. Sorts chunks by score in descending order. - 6. Returns the top N chunks. - - Attributes: - llm_config (LLMConfig): LLM configuration object. - instruction (str): Instruction for LLM markdown generation - chunk_token_threshold (int): Chunk token threshold for splitting (default: 1e9). - overlap_rate (float): Overlap rate for chunking (default: 0.5). - word_token_rate (float): Word token rate for chunking (default: 0.2). - verbose (bool): Enable verbose logging (default: False). - logger (AsyncLogger): Custom logger for LLM operations (optional). - """ - _UNWANTED_PROPS = { - 'provider' : 'Instead, use llm_config=LLMConfig(provider="...")', - 'api_token' : 'Instead, use llm_config=LlMConfig(api_token="...")', - 'base_url' : 'Instead, use llm_config=LLMConfig(base_url="...")', - 'api_base' : 'Instead, use llm_config=LLMConfig(base_url="...")', - } - - def __init__( - self, - llm_config: "LLMConfig" = None, - instruction: str = None, - chunk_token_threshold: int = int(1e9), - overlap_rate: float = OVERLAP_RATE, - word_token_rate: float = WORD_TOKEN_RATE, - # char_token_rate: float = WORD_TOKEN_RATE * 5, - # chunk_mode: str = "char", - verbose: bool = False, - logger: Optional[AsyncLogger] = None, - ignore_cache: bool = True, - # Deprecated properties - provider: str = DEFAULT_PROVIDER, - api_token: Optional[str] = None, - base_url: Optional[str] = None, - api_base: Optional[str] = None, - extra_args: Dict = None, - ): - super().__init__(None) - self.provider = provider - self.api_token = api_token - self.base_url = base_url or api_base - self.llm_config = llm_config - self.instruction = instruction - self.chunk_token_threshold = chunk_token_threshold - self.overlap_rate = overlap_rate - self.word_token_rate = word_token_rate or WORD_TOKEN_RATE - # self.chunk_mode: str = chunk_mode - # self.char_token_rate = char_token_rate or word_token_rate / 5 - # self.token_rate = word_token_rate if chunk_mode == "word" else self.char_token_rate - self.token_rate = word_token_rate or WORD_TOKEN_RATE - self.extra_args = extra_args or {} - self.ignore_cache = ignore_cache - self.verbose = verbose - - # Setup logger with custom styling for LLM operations - if logger: - self.logger = logger - elif verbose: - self.logger = AsyncLogger( - verbose=verbose, - icons={ - **AsyncLogger.DEFAULT_ICONS, - "LLM": "★", # Star for LLM operations - "CHUNK": "◈", # Diamond for chunks - "CACHE": "⚡", # Lightning for cache operations - }, - colors={ - **AsyncLogger.DEFAULT_COLORS, - LogLevel.INFO: LogColor.DIM_MAGENTA # Dimmed purple for LLM ops - }, - ) - else: - self.logger = None - - self.usages = [] - self.total_usage = TokenUsage() - - def __setattr__(self, name, value): - """Handle attribute setting.""" - # TODO: Planning to set properties dynamically based on the __init__ signature - sig = inspect.signature(self.__init__) - all_params = sig.parameters # Dictionary of parameter names and their details - - if name in self._UNWANTED_PROPS and value is not all_params[name].default: - raise AttributeError(f"Setting '{name}' is deprecated. {self._UNWANTED_PROPS[name]}") - - super().__setattr__(name, value) - - def _get_cache_key(self, html: str, instruction: str) -> str: - """Generate a unique cache key based on HTML and instruction""" - content = f"{html}{instruction}" - return hashlib.md5(content.encode()).hexdigest() - - def _merge_chunks(self, text: str) -> List[str]: - """Split text into chunks with overlap using char or word mode.""" - ov = int(self.chunk_token_threshold * self.overlap_rate) - sections = merge_chunks( - docs=[text], - target_size=self.chunk_token_threshold, - overlap=ov, - word_token_ratio=self.word_token_rate, - ) - return sections - - def filter_content(self, html: str, ignore_cache: bool = True) -> List[str]: - if not html or not isinstance(html, str): - return [] - - if self.logger: - self.logger.info( - "Starting LLM markdown content filtering process", - tag="LLM", - params={"provider": self.llm_config.provider}, - colors={"provider": LogColor.CYAN}, - ) - - # Cache handling - cache_dir = Path(get_home_folder()) / "llm_cache" / "content_filter" - cache_dir.mkdir(parents=True, exist_ok=True) - cache_key = self._get_cache_key(html, self.instruction or "") - cache_file = cache_dir / f"{cache_key}.json" - - # if ignore_cache == None: - ignore_cache = self.ignore_cache - - if not ignore_cache and cache_file.exists(): - if self.logger: - self.logger.info("Found cached markdown result", tag="CACHE") - try: - with cache_file.open("r") as f: - cached_data = json.load(f) - usage = TokenUsage(**cached_data["usage"]) - self.usages.append(usage) - self.total_usage.completion_tokens += usage.completion_tokens - self.total_usage.prompt_tokens += usage.prompt_tokens - self.total_usage.total_tokens += usage.total_tokens - return cached_data["blocks"] - except Exception as e: - if self.logger: - self.logger.error( - f"LLM markdown: Cache read error: {str(e)}", tag="CACHE" - ) - - # Split into chunks - html_chunks = self._merge_chunks(html) - if self.logger: - self.logger.info( - "LLM markdown: Split content into {chunk_count} chunks", - tag="CHUNK", - params={"chunk_count": len(html_chunks)}, - colors={"chunk_count": LogColor.YELLOW}, - ) - - start_time = time.time() - - # Process chunks in parallel - with ThreadPoolExecutor(max_workers=4) as executor: - futures = [] - for i, chunk in enumerate(html_chunks): - if self.logger: - self.logger.debug( - "LLM markdown: Processing chunk {chunk_num}/{total_chunks}", - tag="CHUNK", - params={"chunk_num": i + 1, "total_chunks": len(html_chunks)}, - ) - - prompt_variables = { - "HTML": escape_json_string(sanitize_html(chunk)), - "REQUEST": self.instruction - or "Convert this HTML into clean, relevant markdown, removing any noise or irrelevant content.", - } - - prompt = PROMPT_FILTER_CONTENT - for var, value in prompt_variables.items(): - prompt = prompt.replace("{" + var + "}", value) - - def _proceed_with_chunk( - provider: str, - prompt: str, - api_token: str, - base_url: Optional[str] = None, - extra_args: Dict = {}, - ) -> List[str]: - if self.logger: - self.logger.info( - "LLM Markdown: Processing chunk {chunk_num}", - tag="CHUNK", - params={"chunk_num": i + 1}, - ) - return perform_completion_with_backoff( - provider, - prompt, - api_token, - base_url=base_url, - extra_args=extra_args, - ) - - future = executor.submit( - _proceed_with_chunk, - self.llm_config.provider, - prompt, - self.llm_config.api_token, - self.llm_config.base_url, - self.extra_args, - ) - futures.append((i, future)) - - # Collect results in order - ordered_results = [] - for i, future in sorted(futures): - try: - response = future.result() - - # Track usage - usage = TokenUsage( - completion_tokens=response.usage.completion_tokens, - prompt_tokens=response.usage.prompt_tokens, - total_tokens=response.usage.total_tokens, - completion_tokens_details=( - response.usage.completion_tokens_details.__dict__ - if response.usage.completion_tokens_details - else {} - ), - prompt_tokens_details=( - response.usage.prompt_tokens_details.__dict__ - if response.usage.prompt_tokens_details - else {} - ), - ) - self.usages.append(usage) - self.total_usage.completion_tokens += usage.completion_tokens - self.total_usage.prompt_tokens += usage.prompt_tokens - self.total_usage.total_tokens += usage.total_tokens - - blocks = extract_xml_data( - ["content"], response.choices[0].message.content - )["content"] - if blocks: - ordered_results.append(blocks) - if self.logger: - self.logger.success( - "LLM markdown: Successfully processed chunk {chunk_num}", - tag="CHUNK", - params={"chunk_num": i + 1}, - ) - except Exception as e: - if self.logger: - self.logger.error( - "LLM markdown: Error processing chunk {chunk_num}: {error}", - tag="CHUNK", - params={"chunk_num": i + 1, "error": str(e)}, - ) - - end_time = time.time() - if self.logger: - self.logger.success( - "LLM markdown: Completed processing in {time:.2f}s", - tag="LLM", - params={"time": end_time - start_time}, - colors={"time": LogColor.YELLOW}, - ) - - result = ordered_results if ordered_results else [] - - # Cache the final result - cache_data = {"blocks": result, "usage": self.total_usage.__dict__} - with cache_file.open("w") as f: - json.dump(cache_data, f) - if self.logger: - self.logger.info("Cached results for future use", tag="CACHE") - - return result - - def show_usage(self) -> None: - """Print usage statistics""" - print("\n=== Token Usage Summary ===") - print(f"{'Type':<15} {'Count':>12}") - print("-" * 30) - print(f"{'Completion':<15} {self.total_usage.completion_tokens:>12,}") - print(f"{'Prompt':<15} {self.total_usage.prompt_tokens:>12,}") - print(f"{'Total':<15} {self.total_usage.total_tokens:>12,}") - - if self.usages: - print("\n=== Usage History ===") - print(f"{'Request #':<10} {'Completion':>12} {'Prompt':>12} {'Total':>12}") - print("-" * 48) - for i, usage in enumerate(self.usages, 1): - print( - f"{i:<10} {usage.completion_tokens:>12,} " - f"{usage.prompt_tokens:>12,} {usage.total_tokens:>12,}" - ) - -``` - - -## File: crawl4ai/content_scraping_strategy.py - -```py -import re -from itertools import chain -from abc import ABC, abstractmethod -from typing import Dict, Any, Optional -from bs4 import BeautifulSoup -import asyncio -import requests -from .config import ( - MIN_WORD_THRESHOLD, - IMAGE_DESCRIPTION_MIN_WORD_THRESHOLD, - IMAGE_SCORE_THRESHOLD, - ONLY_TEXT_ELIGIBLE_TAGS, - IMPORTANT_ATTRS, - SOCIAL_MEDIA_DOMAINS, -) -from bs4 import NavigableString, Comment -from bs4 import PageElement, Tag -from urllib.parse import urljoin -from requests.exceptions import InvalidSchema -from .utils import ( - extract_metadata, - normalize_url, - is_external_url, - get_base_domain, - extract_metadata_using_lxml, -) -from lxml import etree -from lxml import html as lhtml -from typing import List -from .models import ScrapingResult, MediaItem, Link, Media, Links -import copy - -# Pre-compile regular expressions for Open Graph and Twitter metadata -OG_REGEX = re.compile(r"^og:") -TWITTER_REGEX = re.compile(r"^twitter:") -DIMENSION_REGEX = re.compile(r"(\d+)(\D*)") - - -# Function to parse srcset -def parse_srcset(s: str) -> List[Dict]: - if not s: - return [] - variants = [] - for part in s.split(","): - part = part.strip() - if not part: - continue - parts = part.split() - if len(parts) >= 1: - url = parts[0] - width = ( - parts[1].rstrip("w").split('.')[0] - if len(parts) > 1 and parts[1].endswith("w") - else None - ) - variants.append({"url": url, "width": width}) - return variants - - -# Function to parse image height/width value and units -def parse_dimension(dimension): - if dimension: - # match = re.match(r"(\d+)(\D*)", dimension) - match = DIMENSION_REGEX.match(dimension) - if match: - number = int(match.group(1)) - unit = match.group(2) or "px" # Default unit is 'px' if not specified - return number, unit - return None, None - - -# Fetch image file metadata to extract size and extension -def fetch_image_file_size(img, base_url): - # If src is relative path construct full URL, if not it may be CDN URL - img_url = urljoin(base_url, img.get("src")) - try: - response = requests.head(img_url) - if response.status_code == 200: - return response.headers.get("Content-Length", None) - else: - print(f"Failed to retrieve file size for {img_url}") - return None - except InvalidSchema: - return None - finally: - return - - -class ContentScrapingStrategy(ABC): - @abstractmethod - def scrap(self, url: str, html: str, **kwargs) -> ScrapingResult: - pass - - @abstractmethod - async def ascrap(self, url: str, html: str, **kwargs) -> ScrapingResult: - pass - - -class WebScrapingStrategy(ContentScrapingStrategy): - """ - Class for web content scraping. Perhaps the most important class. - - How it works: - 1. Extract content from HTML using BeautifulSoup. - 2. Clean the extracted content using a content cleaning strategy. - 3. Filter the cleaned content using a content filtering strategy. - 4. Generate markdown content from the filtered content. - 5. Return the markdown content. - """ - - def __init__(self, logger=None): - self.logger = logger - - def _log(self, level, message, tag="SCRAPE", **kwargs): - """Helper method to safely use logger.""" - if self.logger: - log_method = getattr(self.logger, level) - log_method(message=message, tag=tag, **kwargs) - - def scrap(self, url: str, html: str, **kwargs) -> ScrapingResult: - """ - Main entry point for content scraping. - - Args: - url (str): The URL of the page to scrape. - html (str): The HTML content of the page. - **kwargs: Additional keyword arguments. - - Returns: - ScrapingResult: A structured result containing the scraped content. - """ - actual_url = kwargs.get("redirected_url", url) - raw_result = self._scrap(actual_url, html, is_async=False, **kwargs) - if raw_result is None: - return ScrapingResult( - cleaned_html="", - success=False, - media=Media(), - links=Links(), - metadata={}, - ) - - # Convert media items - media = Media( - images=[ - MediaItem(**img) - for img in raw_result.get("media", {}).get("images", []) - if img - ], - videos=[ - MediaItem(**vid) - for vid in raw_result.get("media", {}).get("videos", []) - if vid - ], - audios=[ - MediaItem(**aud) - for aud in raw_result.get("media", {}).get("audios", []) - if aud - ], - tables=raw_result.get("media", {}).get("tables", []) - ) - - # Convert links - links = Links( - internal=[ - Link(**link) - for link in raw_result.get("links", {}).get("internal", []) - if link - ], - external=[ - Link(**link) - for link in raw_result.get("links", {}).get("external", []) - if link - ], - ) - - return ScrapingResult( - cleaned_html=raw_result.get("cleaned_html", ""), - success=raw_result.get("success", False), - media=media, - links=links, - metadata=raw_result.get("metadata", {}), - ) - - async def ascrap(self, url: str, html: str, **kwargs) -> ScrapingResult: - """ - Main entry point for asynchronous content scraping. - - Args: - url (str): The URL of the page to scrape. - html (str): The HTML content of the page. - **kwargs: Additional keyword arguments. - - Returns: - ScrapingResult: A structured result containing the scraped content. - """ - return await asyncio.to_thread(self._scrap, url, html, **kwargs) - - def is_data_table(self, table: Tag, **kwargs) -> bool: - """ - Determine if a table element is a data table (not a layout table). - - Args: - table (Tag): BeautifulSoup Tag representing a table element - **kwargs: Additional keyword arguments including table_score_threshold - - Returns: - bool: True if the table is a data table, False otherwise - """ - score = 0 - - # Check for thead and tbody - has_thead = len(table.select('thead')) > 0 - has_tbody = len(table.select('tbody')) > 0 - if has_thead: - score += 2 - if has_tbody: - score += 1 - - # Check for th elements - th_count = len(table.select('th')) - if th_count > 0: - score += 2 - if has_thead or len(table.select('tr:first-child th')) > 0: - score += 1 - - # Check for nested tables - if len(table.select('table')) > 0: - score -= 3 - - # Role attribute check - role = table.get('role', '').lower() - if role in {'presentation', 'none'}: - score -= 3 - - # Column consistency - rows = table.select('tr') - if not rows: - return False - - col_counts = [len(row.select('td, th')) for row in rows] - avg_cols = sum(col_counts) / len(col_counts) - variance = sum((c - avg_cols)**2 for c in col_counts) / len(col_counts) - if variance < 1: - score += 2 - - # Caption and summary - if table.select('caption'): - score += 2 - if table.has_attr('summary') and table['summary']: - score += 1 - - # Text density - total_text = sum(len(cell.get_text().strip()) for row in rows for cell in row.select('td, th')) - total_tags = sum(1 for _ in table.descendants if isinstance(_, Tag)) - text_ratio = total_text / (total_tags + 1e-5) - if text_ratio > 20: - score += 3 - elif text_ratio > 10: - score += 2 - - # Data attributes - data_attrs = sum(1 for attr in table.attrs if attr.startswith('data-')) - score += data_attrs * 0.5 - - # Size check - if avg_cols >= 2 and len(rows) >= 2: - score += 2 - - threshold = kwargs.get('table_score_threshold', 7) - return score >= threshold - - def extract_table_data(self, table: Tag) -> dict: - """ - Extract structured data from a table element. - - Args: - table (Tag): BeautifulSoup Tag representing a table element - - Returns: - dict: Dictionary containing table data (headers, rows, caption, summary) - """ - caption_elem = table.select_one('caption') - caption = caption_elem.get_text().strip() if caption_elem else "" - summary = table.get('summary', '').strip() - - # Extract headers with colspan handling - headers = [] - thead_rows = table.select('thead tr') - if thead_rows: - header_cells = thead_rows[0].select('th') - for cell in header_cells: - text = cell.get_text().strip() - colspan = int(cell.get('colspan', 1)) - headers.extend([text] * colspan) - else: - first_row = table.select('tr:first-child') - if first_row: - for cell in first_row[0].select('th, td'): - text = cell.get_text().strip() - colspan = int(cell.get('colspan', 1)) - headers.extend([text] * colspan) - - # Extract rows with colspan handling - rows = [] - all_rows = table.select('tr') - thead = table.select_one('thead') - tbody_rows = [] - - if thead: - thead_rows = thead.select('tr') - tbody_rows = [row for row in all_rows if row not in thead_rows] - else: - if all_rows and all_rows[0].select('th'): - tbody_rows = all_rows[1:] - else: - tbody_rows = all_rows - - for row in tbody_rows: - # for row in table.select('tr:not(:has(ancestor::thead))'): - row_data = [] - for cell in row.select('td'): - text = cell.get_text().strip() - colspan = int(cell.get('colspan', 1)) - row_data.extend([text] * colspan) - if row_data: - rows.append(row_data) - - # Align rows with headers - max_columns = len(headers) if headers else (max(len(row) for row in rows) if rows else 0) - aligned_rows = [] - for row in rows: - aligned = row[:max_columns] + [''] * (max_columns - len(row)) - aligned_rows.append(aligned) - - if not headers: - headers = [f"Column {i+1}" for i in range(max_columns)] - - return { - "headers": headers, - "rows": aligned_rows, - "caption": caption, - "summary": summary, - } - - def flatten_nested_elements(self, node): - """ - Flatten nested elements in a HTML tree. - - Args: - node (Tag): The root node of the HTML tree. - - Returns: - Tag: The flattened HTML tree. - """ - if isinstance(node, NavigableString): - return node - if ( - len(node.contents) == 1 - and isinstance(node.contents[0], Tag) - and node.contents[0].name == node.name - ): - return self.flatten_nested_elements(node.contents[0]) - node.contents = [self.flatten_nested_elements(child) for child in node.contents] - return node - - def find_closest_parent_with_useful_text(self, tag, **kwargs): - """ - Find the closest parent with useful text. - - Args: - tag (Tag): The starting tag to search from. - **kwargs: Additional keyword arguments. - - Returns: - Tag: The closest parent with useful text, or None if not found. - """ - image_description_min_word_threshold = kwargs.get( - "image_description_min_word_threshold", IMAGE_DESCRIPTION_MIN_WORD_THRESHOLD - ) - current_tag = tag - while current_tag: - current_tag = current_tag.parent - # Get the text content of the parent tag - if current_tag: - text_content = current_tag.get_text(separator=" ", strip=True) - # Check if the text content has at least word_count_threshold - if len(text_content.split()) >= image_description_min_word_threshold: - return text_content - return None - - def remove_unwanted_attributes( - self, element, important_attrs, keep_data_attributes=False - ): - """ - Remove unwanted attributes from an HTML element. - - Args: - element (Tag): The HTML element to remove attributes from. - important_attrs (list): List of important attributes to keep. - keep_data_attributes (bool): Whether to keep data attributes. - - Returns: - None - """ - attrs_to_remove = [] - for attr in element.attrs: - if attr not in important_attrs: - if keep_data_attributes: - if not attr.startswith("data-"): - attrs_to_remove.append(attr) - else: - attrs_to_remove.append(attr) - - for attr in attrs_to_remove: - del element[attr] - - def process_image(self, img, url, index, total_images, **kwargs): - """ - Process an image element. - - How it works: - 1. Check if the image has valid display and inside undesired html elements. - 2. Score an image for it's usefulness. - 3. Extract image file metadata to extract size and extension. - 4. Generate a dictionary with the processed image information. - 5. Return the processed image information. - - Args: - img (Tag): The image element to process. - url (str): The URL of the page containing the image. - index (int): The index of the image in the list of images. - total_images (int): The total number of images in the list. - **kwargs: Additional keyword arguments. - - Returns: - dict: A dictionary containing the processed image information. - """ - # parse_srcset = lambda s: [{'url': u.strip().split()[0], 'width': u.strip().split()[-1].rstrip('w') - # if ' ' in u else None} - # for u in [f"http{p}" for p in s.split("http") if p]] - - # Constants for checks - classes_to_check = frozenset(["button", "icon", "logo"]) - tags_to_check = frozenset(["button", "input"]) - image_formats = frozenset(["jpg", "jpeg", "png", "webp", "avif", "gif"]) - - # Pre-fetch commonly used attributes - style = img.get("style", "") - alt = img.get("alt", "") - src = img.get("src", "") - data_src = img.get("data-src", "") - srcset = img.get("srcset", "") - data_srcset = img.get("data-srcset", "") - width = img.get("width") - height = img.get("height") - parent = img.parent - parent_classes = parent.get("class", []) - - # Quick validation checks - if ( - "display:none" in style - or parent.name in tags_to_check - or any(c in cls for c in parent_classes for cls in classes_to_check) - or any(c in src for c in classes_to_check) - or any(c in alt for c in classes_to_check) - ): - return None - - # Quick score calculation - score = 0 - if width and width.isdigit(): - width_val = int(width) - score += 1 if width_val > 150 else 0 - if height and height.isdigit(): - height_val = int(height) - score += 1 if height_val > 150 else 0 - if alt: - score += 1 - score += index / total_images < 0.5 - - # image_format = '' - # if "data:image/" in src: - # image_format = src.split(',')[0].split(';')[0].split('/')[1].split(';')[0] - # else: - # image_format = os.path.splitext(src)[1].lower().strip('.').split('?')[0] - - # if image_format in ('jpg', 'png', 'webp', 'avif'): - # score += 1 - - # Check for image format in all possible sources - def has_image_format(url): - return any(fmt in url.lower() for fmt in image_formats) - - # Score for having proper image sources - if any(has_image_format(url) for url in [src, data_src, srcset, data_srcset]): - score += 1 - if srcset or data_srcset: - score += 1 - if img.find_parent("picture"): - score += 1 - - # Detect format from any available source - detected_format = None - for url in [src, data_src, srcset, data_srcset]: - if url: - format_matches = [fmt for fmt in image_formats if fmt in url.lower()] - if format_matches: - detected_format = format_matches[0] - break - - if score <= kwargs.get("image_score_threshold", IMAGE_SCORE_THRESHOLD): - return None - - # Use set for deduplication - unique_urls = set() - image_variants = [] - - # Generate a unique group ID for this set of variants - group_id = index - - # Base image info template - base_info = { - "alt": alt, - "desc": self.find_closest_parent_with_useful_text(img, **kwargs), - "score": score, - "type": "image", - "group_id": group_id, # Group ID for this set of variants - "format": detected_format, - } - - # Inline function for adding variants - def add_variant(src, width=None): - if src and not src.startswith("data:") and src not in unique_urls: - unique_urls.add(src) - image_variants.append({**base_info, "src": src, "width": width}) - - # Process all sources - add_variant(src) - add_variant(data_src) - - # Handle srcset and data-srcset in one pass - for attr in ("srcset", "data-srcset"): - if value := img.get(attr): - for source in parse_srcset(value): - add_variant(source["url"], source["width"]) - - # Quick picture element check - if picture := img.find_parent("picture"): - for source in picture.find_all("source"): - if srcset := source.get("srcset"): - for src in parse_srcset(srcset): - add_variant(src["url"], src["width"]) - - # Framework-specific attributes in one pass - for attr, value in img.attrs.items(): - if ( - attr.startswith("data-") - and ("src" in attr or "srcset" in attr) - and "http" in value - ): - add_variant(value) - - return image_variants if image_variants else None - - def process_element(self, url, element: PageElement, **kwargs) -> Dict[str, Any]: - """ - Process an HTML element. - - How it works: - 1. Check if the element is an image, video, or audio. - 2. Extract the element's attributes and content. - 3. Process the element based on its type. - 4. Return the processed element information. - - Args: - url (str): The URL of the page containing the element. - element (Tag): The HTML element to process. - **kwargs: Additional keyword arguments. - - Returns: - dict: A dictionary containing the processed element information. - """ - media = {"images": [], "videos": [], "audios": [], "tables": []} - internal_links_dict = {} - external_links_dict = {} - self._process_element( - url, element, media, internal_links_dict, external_links_dict, **kwargs - ) - return { - "media": media, - "internal_links_dict": internal_links_dict, - "external_links_dict": external_links_dict, - } - - def _process_element( - self, - url, - element: PageElement, - media: Dict[str, Any], - internal_links_dict: Dict[str, Any], - external_links_dict: Dict[str, Any], - **kwargs, - ) -> bool: - """ - Process an HTML element. - """ - try: - if isinstance(element, NavigableString): - if isinstance(element, Comment): - element.extract() - return False - - # if element.name == 'img': - # process_image(element, url, 0, 1) - # return True - base_domain = kwargs.get("base_domain", get_base_domain(url)) - - if element.name in ["script", "style", "link", "meta", "noscript"]: - element.decompose() - return False - - keep_element = False - # Special case for table elements - always preserve structure - if element.name in ["tr", "td", "th"]: - keep_element = True - - exclude_domains = kwargs.get("exclude_domains", []) - # exclude_social_media_domains = kwargs.get('exclude_social_media_domains', set(SOCIAL_MEDIA_DOMAINS)) - # exclude_social_media_domains = SOCIAL_MEDIA_DOMAINS + kwargs.get('exclude_social_media_domains', []) - # exclude_social_media_domains = list(set(exclude_social_media_domains)) - - try: - if element.name == "a" and element.get("href"): - href = element.get("href", "").strip() - if not href: # Skip empty hrefs - return False - - # url_base = url.split("/")[2] - - # Normalize the URL - try: - normalized_href = normalize_url(href, url) - except ValueError: - # logging.warning(f"Invalid URL format: {href}, Error: {str(e)}") - return False - - link_data = { - "href": normalized_href, - "text": element.get_text().strip(), - "title": element.get("title", "").strip(), - "base_domain": base_domain, - } - - is_external = is_external_url(normalized_href, base_domain) - - keep_element = True - - # Handle external link exclusions - if is_external: - link_base_domain = get_base_domain(normalized_href) - link_data["base_domain"] = link_base_domain - if kwargs.get("exclude_external_links", False): - element.decompose() - return False - # elif kwargs.get('exclude_social_media_links', False): - # if link_base_domain in exclude_social_media_domains: - # element.decompose() - # return False - # if any(domain in normalized_href.lower() for domain in exclude_social_media_domains): - # element.decompose() - # return False - elif exclude_domains: - if link_base_domain in exclude_domains: - element.decompose() - return False - # if any(domain in normalized_href.lower() for domain in kwargs.get('exclude_domains', [])): - # element.decompose() - # return False - - if is_external: - if normalized_href not in external_links_dict: - external_links_dict[normalized_href] = link_data - else: - if kwargs.get("exclude_internal_links", False): - element.decompose() - return False - if normalized_href not in internal_links_dict: - internal_links_dict[normalized_href] = link_data - - except Exception as e: - raise Exception(f"Error processing links: {str(e)}") - - try: - if element.name == "img": - potential_sources = [ - "src", - "data-src", - "srcset" "data-lazy-src", - "data-original", - ] - src = element.get("src", "") - while not src and potential_sources: - src = element.get(potential_sources.pop(0), "") - if not src: - element.decompose() - return False - - # If it is srcset pick up the first image - if "srcset" in element.attrs: - src = element.attrs["srcset"].split(",")[0].split(" ")[0] - - # If image src is internal, then skip - if not is_external_url(src, base_domain): - return True - - image_src_base_domain = get_base_domain(src) - - # Check flag if we should remove external images - if kwargs.get("exclude_external_images", False): - element.decompose() - return False - # src_url_base = src.split('/')[2] - # url_base = url.split('/')[2] - # if url_base not in src_url_base: - # element.decompose() - # return False - - # if kwargs.get('exclude_social_media_links', False): - # if image_src_base_domain in exclude_social_media_domains: - # element.decompose() - # return False - # src_url_base = src.split('/')[2] - # url_base = url.split('/')[2] - # if any(domain in src for domain in exclude_social_media_domains): - # element.decompose() - # return False - - # Handle exclude domains - if exclude_domains: - if image_src_base_domain in exclude_domains: - element.decompose() - return False - # if any(domain in src for domain in kwargs.get('exclude_domains', [])): - # element.decompose() - # return False - - return True # Always keep image elements - except Exception: - raise "Error processing images" - - # Check if flag to remove all forms is set - if kwargs.get("remove_forms", False) and element.name == "form": - element.decompose() - return False - - if element.name in ["video", "audio"]: - media[f"{element.name}s"].append( - { - "src": element.get("src"), - "alt": element.get("alt"), - "type": element.name, - "description": self.find_closest_parent_with_useful_text( - element, **kwargs - ), - } - ) - source_tags = element.find_all("source") - for source_tag in source_tags: - media[f"{element.name}s"].append( - { - "src": source_tag.get("src"), - "alt": element.get("alt"), - "type": element.name, - "description": self.find_closest_parent_with_useful_text( - element, **kwargs - ), - } - ) - return True # Always keep video and audio elements - - if element.name in ONLY_TEXT_ELIGIBLE_TAGS: - if kwargs.get("only_text", False): - element.replace_with(element.get_text()) - - try: - self.remove_unwanted_attributes( - element, IMPORTANT_ATTRS + kwargs.get("keep_attrs", []) , kwargs.get("keep_data_attributes", False) - ) - except Exception as e: - # print('Error removing unwanted attributes:', str(e)) - self._log( - "error", - message="Error removing unwanted attributes: {error}", - tag="SCRAPE", - params={"error": str(e)}, - ) - # Process children - for child in list(element.children): - if isinstance(child, NavigableString) and not isinstance( - child, Comment - ): - if len(child.strip()) > 0: - keep_element = True - else: - if self._process_element( - url, - child, - media, - internal_links_dict, - external_links_dict, - **kwargs, - ): - keep_element = True - - # Check word count - word_count_threshold = kwargs.get( - "word_count_threshold", MIN_WORD_THRESHOLD - ) - if not keep_element: - word_count = len(element.get_text(strip=True).split()) - keep_element = word_count >= word_count_threshold - - if not keep_element: - element.decompose() - - return keep_element - except Exception as e: - # print('Error processing element:', str(e)) - self._log( - "error", - message="Error processing element: {error}", - tag="SCRAPE", - params={"error": str(e)}, - ) - return False - - def _scrap( - self, - url: str, - html: str, - word_count_threshold: int = MIN_WORD_THRESHOLD, - css_selector: str = None, - target_elements: List[str] = None, - **kwargs, - ) -> Dict[str, Any]: - """ - Extract content from HTML using BeautifulSoup. - - Args: - url (str): The URL of the page to scrape. - html (str): The HTML content of the page to scrape. - word_count_threshold (int): The minimum word count threshold for content extraction. - css_selector (str): The CSS selector to use for content extraction. - **kwargs: Additional keyword arguments. - - Returns: - dict: A dictionary containing the extracted content. - """ - success = True - if not html: - return None - - parser_type = kwargs.get("parser", "lxml") - soup = BeautifulSoup(html, parser_type) - body = soup.body - if body is None: - raise Exception("'' tag is not found in fetched html. Consider adding wait_for=\"css:body\" to wait for body tag to be loaded into DOM.") - base_domain = get_base_domain(url) - - # Early removal of all images if exclude_all_images is set - # This happens before any processing to minimize memory usage - if kwargs.get("exclude_all_images", False): - for img in body.find_all('img'): - img.decompose() - - try: - meta = extract_metadata("", soup) - except Exception as e: - self._log( - "error", - message="Error extracting metadata: {error}", - tag="SCRAPE", - params={"error": str(e)}, - ) - meta = {} - - # Handle tag-based removal first - faster than CSS selection - excluded_tags = set(kwargs.get("excluded_tags", []) or []) - if excluded_tags: - for element in body.find_all(lambda tag: tag.name in excluded_tags): - element.extract() - - # Handle CSS selector-based removal - excluded_selector = kwargs.get("excluded_selector", "") - if excluded_selector: - is_single_selector = ( - "," not in excluded_selector and " " not in excluded_selector - ) - if is_single_selector: - while element := body.select_one(excluded_selector): - element.extract() - else: - for element in body.select(excluded_selector): - element.extract() - - content_element = None - if target_elements: - try: - for_content_targeted_element = [] - for target_element in target_elements: - for_content_targeted_element.extend(body.select(target_element)) - content_element = soup.new_tag("div") - for el in for_content_targeted_element: - content_element.append(copy.deepcopy(el)) - except Exception as e: - self._log("error", f"Error with target element detection: {str(e)}", "SCRAPE") - return None - else: - content_element = body - - kwargs["exclude_social_media_domains"] = set( - kwargs.get("exclude_social_media_domains", []) + SOCIAL_MEDIA_DOMAINS - ) - kwargs["exclude_domains"] = set(kwargs.get("exclude_domains", [])) - if kwargs.get("exclude_social_media_links", False): - kwargs["exclude_domains"] = kwargs["exclude_domains"].union( - kwargs["exclude_social_media_domains"] - ) - - result_obj = self.process_element( - url, - body, - word_count_threshold=word_count_threshold, - base_domain=base_domain, - **kwargs, - ) - - links = {"internal": [], "external": []} - media = result_obj["media"] - internal_links_dict = result_obj["internal_links_dict"] - external_links_dict = result_obj["external_links_dict"] - - # Update the links dictionary with unique links - links["internal"] = list(internal_links_dict.values()) - links["external"] = list(external_links_dict.values()) - - # # Process images using ThreadPoolExecutor - imgs = body.find_all("img") - - media["images"] = [ - img - for result in ( - self.process_image(img, url, i, len(imgs), **kwargs) - for i, img in enumerate(imgs) - ) - if result is not None - for img in result - ] - - # Process tables if not excluded - excluded_tags = set(kwargs.get("excluded_tags", []) or []) - if 'table' not in excluded_tags: - tables = body.find_all('table') - for table in tables: - if self.is_data_table(table, **kwargs): - table_data = self.extract_table_data(table) - media["tables"].append(table_data) - - body = self.flatten_nested_elements(body) - base64_pattern = re.compile(r'data:image/[^;]+;base64,([^"]+)') - for img in imgs: - src = img.get("src", "") - if base64_pattern.match(src): - # Replace base64 data with empty string - img["src"] = base64_pattern.sub("", src) - - str_body = "" - try: - str_body = content_element.encode_contents().decode("utf-8") - except Exception: - # Reset body to the original HTML - success = False - body = BeautifulSoup(html, "html.parser") - - # Create a new div with a special ID - error_div = body.new_tag("div", id="crawl4ai_error_message") - error_div.string = """ - Crawl4AI Error: This page is not fully supported. - - Possible reasons: - 1. The page may have restrictions that prevent crawling. - 2. The page might not be fully loaded. - - Suggestions: - - Try calling the crawl function with these parameters: - magic=True, - - Set headless=False to visualize what's happening on the page. - - If the issue persists, please check the page's structure and any potential anti-crawling measures. - """ - - # Append the error div to the body - body.append(error_div) - str_body = body.encode_contents().decode("utf-8") - - print( - "[LOG] 😧 Error: After processing the crawled HTML and removing irrelevant tags, nothing was left in the page. Check the markdown for further details." - ) - self._log( - "error", - message="After processing the crawled HTML and removing irrelevant tags, nothing was left in the page. Check the markdown for further details.", - tag="SCRAPE", - ) - - cleaned_html = str_body.replace("\n\n", "\n").replace(" ", " ") - - return { - "cleaned_html": cleaned_html, - "success": success, - "media": media, - "links": links, - "metadata": meta, - } - - -class LXMLWebScrapingStrategy(WebScrapingStrategy): - def __init__(self, logger=None): - super().__init__(logger) - self.DIMENSION_REGEX = re.compile(r"(\d+)(\D*)") - self.BASE64_PATTERN = re.compile(r'data:image/[^;]+;base64,([^"]+)') - - def _process_element( - self, - url: str, - element: lhtml.HtmlElement, - media: Dict[str, List], - internal_links_dict: Dict[str, Any], - external_links_dict: Dict[str, Any], - **kwargs, - ) -> bool: - base_domain = kwargs.get("base_domain", get_base_domain(url)) - exclude_domains = set(kwargs.get("exclude_domains", [])) - - # Process links - for link in element.xpath(".//a[@href]"): - href = link.get("href", "").strip() - if not href: - continue - - try: - normalized_href = normalize_url(href, url) - link_data = { - "href": normalized_href, - "text": link.text_content().strip(), - "title": link.get("title", "").strip(), - "base_domain": base_domain, - } - - is_external = is_external_url(normalized_href, base_domain) - if is_external: - link_base_domain = get_base_domain(normalized_href) - link_data["base_domain"] = link_base_domain - if ( - kwargs.get("exclude_external_links", False) - or link_base_domain in exclude_domains - ): - link.getparent().remove(link) - continue - - if normalized_href not in external_links_dict: - external_links_dict[normalized_href] = link_data - else: - if normalized_href not in internal_links_dict: - internal_links_dict[normalized_href] = link_data - - except Exception as e: - self._log("error", f"Error processing link: {str(e)}", "SCRAPE") - continue - - # Process images - images = element.xpath(".//img") - total_images = len(images) - - for idx, img in enumerate(images): - src = img.get("src") or "" - img_domain = get_base_domain(src) - - # Decide if we need to exclude this image - # 1) If its domain is in exclude_domains, remove. - # 2) Or if exclude_external_images=True and it's an external domain, remove. - if (img_domain in exclude_domains) or ( - kwargs.get("exclude_external_images", False) - and is_external_url(src, base_domain) - ): - parent = img.getparent() - if parent is not None: - parent.remove(img) - continue - - # Otherwise, process the image as usual. - try: - processed_images = self.process_image( - img, url, idx, total_images, **kwargs - ) - if processed_images: - media["images"].extend(processed_images) - except Exception as e: - self._log("error", f"Error processing image: {str(e)}", "SCRAPE") - - # Process videos and audios - for media_type in ["video", "audio"]: - for elem in element.xpath(f".//{media_type}"): - media_info = { - "src": elem.get("src"), - "alt": elem.get("alt"), - "type": media_type, - "description": self.find_closest_parent_with_useful_text( - elem, **kwargs - ), - } - media[f"{media_type}s"].append(media_info) - - # Process source tags within media elements - for source in elem.xpath(".//source"): - if src := source.get("src"): - media[f"{media_type}s"].append({**media_info, "src": src}) - - # Clean up unwanted elements - if kwargs.get("remove_forms", False): - for form in element.xpath(".//form"): - form.getparent().remove(form) - - if excluded_tags := kwargs.get("excluded_tags", []): - for tag in excluded_tags: - for elem in element.xpath(f".//{tag}"): - elem.getparent().remove(elem) - - if excluded_selector := kwargs.get("excluded_selector", ""): - try: - for elem in element.cssselect(excluded_selector): - elem.getparent().remove(elem) - except Exception: - pass # Invalid selector - - return True - - def find_closest_parent_with_useful_text( - self, element: lhtml.HtmlElement, **kwargs - ) -> Optional[str]: - image_description_min_word_threshold = kwargs.get( - "image_description_min_word_threshold", IMAGE_DESCRIPTION_MIN_WORD_THRESHOLD - ) - current = element - while current is not None: - if ( - current.text - and len(current.text_content().split()) - >= image_description_min_word_threshold - ): - return current.text_content().strip() - current = current.getparent() - return None - - def flatten_nested_elements(self, element: lhtml.HtmlElement) -> lhtml.HtmlElement: - """Flatten nested elements of the same type in LXML tree""" - if len(element) == 1 and element.tag == element[0].tag: - return self.flatten_nested_elements(element[0]) - - for child in element: - child_idx = element.index(child) - flattened_child = self.flatten_nested_elements(child) - if flattened_child is not child: # Only replace if actually flattened - element[child_idx] = flattened_child - - return element - - def process_image( - self, img: lhtml.HtmlElement, url: str, index: int, total_images: int, **kwargs - ) -> Optional[List[Dict]]: - # Quick validation checks - style = img.get("style", "") - alt = img.get("alt", "") - src = img.get("src", "") - data_src = img.get("data-src", "") - srcset = img.get("srcset", "") - data_srcset = img.get("data-srcset", "") - - if "display:none" in style: - return None - - parent = img.getparent() - if parent.tag in ["button", "input"]: - return None - - parent_classes = parent.get("class", "").split() - if any( - "button" in cls or "icon" in cls or "logo" in cls for cls in parent_classes - ): - return None - - # If src is in class or alt, likely an icon - if (src and any(c in src for c in ["button", "icon", "logo"])) or ( - alt and any(c in alt for c in ["button", "icon", "logo"]) - ): - return None - - # Score calculation - score = 0 - if (width := img.get("width")) and width.isdigit(): - score += 1 if int(width) > 150 else 0 - if (height := img.get("height")) and height.isdigit(): - score += 1 if int(height) > 150 else 0 - if alt: - score += 1 - score += index / total_images < 0.5 - - # Check formats in all possible sources - image_formats = {"jpg", "jpeg", "png", "webp", "avif", "gif"} - detected_format = None - for url in [src, data_src, srcset, data_srcset]: - if url: - format_matches = [fmt for fmt in image_formats if fmt in url.lower()] - if format_matches: - detected_format = format_matches[0] - score += 1 - break - - if srcset or data_srcset: - score += 1 - - if picture := img.xpath("./ancestor::picture[1]"): - score += 1 - - if score <= kwargs.get("image_score_threshold", IMAGE_SCORE_THRESHOLD): - return None - - # Process image variants - unique_urls = set() - image_variants = [] - base_info = { - "alt": alt, - "desc": self.find_closest_parent_with_useful_text(img, **kwargs), - "score": score, - "type": "image", - "group_id": index, - "format": detected_format, - } - - def add_variant(src: str, width: Optional[str] = None): - if src and not src.startswith("data:") and src not in unique_urls: - unique_urls.add(src) - variant = {**base_info, "src": src} - if width: - variant["width"] = width - image_variants.append(variant) - - # Add variants from different sources - add_variant(src) - add_variant(data_src) - - for srcset_attr in [srcset, data_srcset]: - if srcset_attr: - for source in parse_srcset(srcset_attr): - add_variant(source["url"], source["width"]) - - # Handle picture element - if picture: - for source in picture[0].xpath(".//source[@srcset]"): - if source_srcset := source.get("srcset"): - for src_data in parse_srcset(source_srcset): - add_variant(src_data["url"], src_data["width"]) - - # Check framework-specific attributes - for attr, value in img.attrib.items(): - if ( - attr.startswith("data-") - and ("src" in attr or "srcset" in attr) - and "http" in value - ): - add_variant(value) - - return image_variants if image_variants else None - - def remove_empty_elements_fast(self, root, word_count_threshold=5): - """ - Remove elements that fall below the desired word threshold in a single pass from the bottom up. - Skips non-element nodes like HtmlComment and bypasses certain tags that are allowed to have no content. - """ - bypass_tags = { - "a", - "img", - "br", - "hr", - "input", - "meta", - "link", - "source", - "track", - "wbr", - "tr", - "td", - "th", - } - - for el in reversed(list(root.iterdescendants())): - if not isinstance(el, lhtml.HtmlElement): - continue - - if el.tag in bypass_tags: - continue - - text_content = (el.text_content() or "").strip() - if ( - len(text_content.split()) < word_count_threshold - and not el.getchildren() - ): - parent = el.getparent() - if parent is not None: - parent.remove(el) - - return root - - def remove_unwanted_attributes_fast( - self, root: lhtml.HtmlElement, important_attrs=None, keep_data_attributes=False - ) -> lhtml.HtmlElement: - """ - Removes all attributes from each element (including root) except those in `important_attrs`. - If `keep_data_attributes=True`, also retain any attribute starting with 'data-'. - - Returns the same root element, mutated in-place, for fluent usage. - """ - if important_attrs is None: - important_attrs = set(IMPORTANT_ATTRS) - - # If you want to handle the root as well, use 'include_self=True' - # so you don't miss attributes on the top-level element. - # Manually include the root, then all its descendants - for el in chain((root,), root.iterdescendants()): - # We only remove attributes on HtmlElement nodes, skip comments or text nodes - if not isinstance(el, lhtml.HtmlElement): - continue - - old_attribs = dict(el.attrib) - new_attribs = {} - - for attr_name, attr_val in old_attribs.items(): - # If it's an important attribute, keep it - if attr_name in important_attrs: - new_attribs[attr_name] = attr_val - # Or if keep_data_attributes is True and it's a 'data-*' attribute - elif keep_data_attributes and attr_name.startswith("data-"): - new_attribs[attr_name] = attr_val - - # Clear old attributes and set the filtered set - el.attrib.clear() - el.attrib.update(new_attribs) - - return root - - def is_data_table(self, table: etree.Element, **kwargs) -> bool: - score = 0 - # Check for thead and tbody - has_thead = len(table.xpath(".//thead")) > 0 - has_tbody = len(table.xpath(".//tbody")) > 0 - if has_thead: - score += 2 - if has_tbody: - score += 1 - - # Check for th elements - th_count = len(table.xpath(".//th")) - if th_count > 0: - score += 2 - if has_thead or table.xpath(".//tr[1]/th"): - score += 1 - - # Check for nested tables - if len(table.xpath(".//table")) > 0: - score -= 3 - - # Role attribute check - role = table.get("role", "").lower() - if role in {"presentation", "none"}: - score -= 3 - - # Column consistency - rows = table.xpath(".//tr") - if not rows: - return False - col_counts = [len(row.xpath(".//td|.//th")) for row in rows] - avg_cols = sum(col_counts) / len(col_counts) - variance = sum((c - avg_cols)**2 for c in col_counts) / len(col_counts) - if variance < 1: - score += 2 - - # Caption and summary - if table.xpath(".//caption"): - score += 2 - if table.get("summary"): - score += 1 - - # Text density - total_text = sum(len(''.join(cell.itertext()).strip()) for row in rows for cell in row.xpath(".//td|.//th")) - total_tags = sum(1 for _ in table.iterdescendants()) - text_ratio = total_text / (total_tags + 1e-5) - if text_ratio > 20: - score += 3 - elif text_ratio > 10: - score += 2 - - # Data attributes - data_attrs = sum(1 for attr in table.attrib if attr.startswith('data-')) - score += data_attrs * 0.5 - - # Size check - if avg_cols >= 2 and len(rows) >= 2: - score += 2 - - threshold = kwargs.get("table_score_threshold", 7) - return score >= threshold - - def extract_table_data(self, table: etree.Element) -> dict: - caption = table.xpath(".//caption/text()") - caption = caption[0].strip() if caption else "" - summary = table.get("summary", "").strip() - - # Extract headers with colspan handling - headers = [] - thead_rows = table.xpath(".//thead/tr") - if thead_rows: - header_cells = thead_rows[0].xpath(".//th") - for cell in header_cells: - text = cell.text_content().strip() - colspan = int(cell.get("colspan", 1)) - headers.extend([text] * colspan) - else: - first_row = table.xpath(".//tr[1]") - if first_row: - for cell in first_row[0].xpath(".//th|.//td"): - text = cell.text_content().strip() - colspan = int(cell.get("colspan", 1)) - headers.extend([text] * colspan) - - # Extract rows with colspan handling - rows = [] - for row in table.xpath(".//tr[not(ancestor::thead)]"): - row_data = [] - for cell in row.xpath(".//td"): - text = cell.text_content().strip() - colspan = int(cell.get("colspan", 1)) - row_data.extend([text] * colspan) - if row_data: - rows.append(row_data) - - # Align rows with headers - max_columns = len(headers) if headers else (max(len(row) for row in rows) if rows else 0) - aligned_rows = [] - for row in rows: - aligned = row[:max_columns] + [''] * (max_columns - len(row)) - aligned_rows.append(aligned) - - if not headers: - headers = [f"Column {i+1}" for i in range(max_columns)] - - return { - "headers": headers, - "rows": aligned_rows, - "caption": caption, - "summary": summary, - } - - def _scrap( - self, - url: str, - html: str, - word_count_threshold: int = MIN_WORD_THRESHOLD, - css_selector: str = None, - target_elements: List[str] = None, - **kwargs, - ) -> Dict[str, Any]: - if not html: - return None - - success = True - try: - doc = lhtml.document_fromstring(html) - # Match BeautifulSoup's behavior of using body or full doc - # body = doc.xpath('//body')[0] if doc.xpath('//body') else doc - body = doc - - base_domain = get_base_domain(url) - - # Early removal of all images if exclude_all_images is set - # This is more efficient in lxml as we remove elements before any processing - if kwargs.get("exclude_all_images", False): - for img in body.xpath('//img'): - if img.getparent() is not None: - img.getparent().remove(img) - - # Add comment removal - if kwargs.get("remove_comments", False): - comments = body.xpath("//comment()") - for comment in comments: - comment.getparent().remove(comment) - - # Handle tag-based removal first - excluded_tags = set(kwargs.get("excluded_tags", []) or []) - if excluded_tags: - for tag in excluded_tags: - for element in body.xpath(f".//{tag}"): - if element.getparent() is not None: - element.getparent().remove(element) - - # Handle CSS selector-based exclusion - excluded_selector = kwargs.get("excluded_selector", "") - if excluded_selector: - try: - for element in body.cssselect(excluded_selector): - if element.getparent() is not None: - element.getparent().remove(element) - except Exception as e: - self._log( - "error", f"Error with excluded CSS selector: {str(e)}", "SCRAPE" - ) - - # Extract metadata before any content filtering - try: - meta = extract_metadata_using_lxml( - "", doc - ) # Using same function as BeautifulSoup version - except Exception as e: - self._log("error", f"Error extracting metadata: {str(e)}", "SCRAPE") - meta = {} - - content_element = None - if target_elements: - try: - for_content_targeted_element = [] - for target_element in target_elements: - for_content_targeted_element.extend(body.cssselect(target_element)) - content_element = lhtml.Element("div") - content_element.extend(copy.deepcopy(for_content_targeted_element)) - except Exception as e: - self._log("error", f"Error with target element detection: {str(e)}", "SCRAPE") - return None - else: - content_element = body - - # Remove script and style tags - for tag in ["script", "style", "link", "meta", "noscript"]: - for element in body.xpath(f".//{tag}"): - if element.getparent() is not None: - element.getparent().remove(element) - - # Handle social media and domain exclusions - kwargs["exclude_domains"] = set(kwargs.get("exclude_domains", [])) - if kwargs.get("exclude_social_media_links", False): - kwargs["exclude_social_media_domains"] = set( - kwargs.get("exclude_social_media_domains", []) - + SOCIAL_MEDIA_DOMAINS - ) - kwargs["exclude_domains"].update(kwargs["exclude_social_media_domains"]) - - # Process forms if needed - if kwargs.get("remove_forms", False): - for form in body.xpath(".//form"): - if form.getparent() is not None: - form.getparent().remove(form) - - # Process content - media = {"images": [], "videos": [], "audios": [], "tables": []} - internal_links_dict = {} - external_links_dict = {} - - self._process_element( - url, - body, - media, - internal_links_dict, - external_links_dict, - base_domain=base_domain, - **kwargs, - ) - - if 'table' not in excluded_tags: - tables = body.xpath(".//table") - for table in tables: - if self.is_data_table(table, **kwargs): - table_data = self.extract_table_data(table) - media["tables"].append(table_data) - - # Handle only_text option - if kwargs.get("only_text", False): - for tag in ONLY_TEXT_ELIGIBLE_TAGS: - for element in body.xpath(f".//{tag}"): - if element.text: - new_text = lhtml.Element("span") - new_text.text = element.text_content() - if element.getparent() is not None: - element.getparent().replace(element, new_text) - - # Clean base64 images - for img in body.xpath(".//img[@src]"): - src = img.get("src", "") - if self.BASE64_PATTERN.match(src): - img.set("src", self.BASE64_PATTERN.sub("", src)) - - # Remove empty elements - self.remove_empty_elements_fast(body, 1) - - # Remove unneeded attributes - self.remove_unwanted_attributes_fast( - body, keep_data_attributes=kwargs.get("keep_data_attributes", False) - ) - - # Generate output HTML - cleaned_html = lhtml.tostring( - # body, - content_element, - encoding="unicode", - pretty_print=True, - method="html", - with_tail=False, - ).strip() - return { - "cleaned_html": cleaned_html, - "success": success, - "media": media, - "links": { - "internal": list(internal_links_dict.values()), - "external": list(external_links_dict.values()), - }, - "metadata": meta, - } - - except Exception as e: - self._log("error", f"Error processing HTML: {str(e)}", "SCRAPE") - # Create error message in case of failure - error_body = lhtml.Element("div") - # Use etree.SubElement rather than lhtml.SubElement - error_div = etree.SubElement(error_body, "div", id="crawl4ai_error_message") - error_div.text = f""" - Crawl4AI Error: This page is not fully supported. - - Error Message: {str(e)} - - Possible reasons: - 1. The page may have restrictions that prevent crawling. - 2. The page might not be fully loaded. - - Suggestions: - - Try calling the crawl function with these parameters: - magic=True, - - Set headless=False to visualize what's happening on the page. - - If the issue persists, please check the page's structure and any potential anti-crawling measures. - """ - cleaned_html = lhtml.tostring( - error_body, encoding="unicode", pretty_print=True - ) - return { - "cleaned_html": cleaned_html, - "success": False, - "media": { - "images": [], - "videos": [], - "audios": [], - "tables": [] - }, - "links": {"internal": [], "external": []}, - "metadata": {}, - } - -``` - - -## File: crawl4ai/docker_client.py - -```py -from typing import List, Optional, Union, AsyncGenerator, Dict, Any -import httpx -import json -from urllib.parse import urljoin -import asyncio - -from .async_configs import BrowserConfig, CrawlerRunConfig -from .models import CrawlResult -from .async_logger import AsyncLogger, LogLevel - - -class Crawl4aiClientError(Exception): - """Base exception for Crawl4ai Docker client errors.""" - pass - - -class ConnectionError(Crawl4aiClientError): - """Raised when connection to the Docker server fails.""" - pass - - -class RequestError(Crawl4aiClientError): - """Raised when the server returns an error response.""" - pass - - -class Crawl4aiDockerClient: - """Client for interacting with Crawl4AI Docker server with token authentication.""" - - def __init__( - self, - base_url: str = "http://localhost:8000", - timeout: float = 30.0, - verify_ssl: bool = True, - verbose: bool = True, - log_file: Optional[str] = None - ): - self.base_url = base_url.rstrip('/') - self.timeout = timeout - self.logger = AsyncLogger(log_file=log_file, log_level=LogLevel.DEBUG, verbose=verbose) - self._http_client = httpx.AsyncClient( - timeout=timeout, - verify=verify_ssl, - headers={"Content-Type": "application/json"} - ) - self._token: Optional[str] = None - - async def authenticate(self, email: str) -> None: - """Authenticate with the server and store the token.""" - url = urljoin(self.base_url, "/token") - try: - self.logger.info(f"Authenticating with email: {email}", tag="AUTH") - response = await self._http_client.post(url, json={"email": email}) - response.raise_for_status() - data = response.json() - self._token = data["access_token"] - self._http_client.headers["Authorization"] = f"Bearer {self._token}" - self.logger.success("Authentication successful", tag="AUTH") - except (httpx.RequestError, httpx.HTTPStatusError) as e: - error_msg = f"Authentication failed: {str(e)}" - self.logger.error(error_msg, tag="ERROR") - raise ConnectionError(error_msg) - - async def _check_server(self) -> None: - """Check if server is reachable, raising an error if not.""" - try: - await self._http_client.get(urljoin(self.base_url, "/health")) - self.logger.success(f"Connected to {self.base_url}", tag="READY") - except httpx.RequestError as e: - self.logger.error(f"Server unreachable: {str(e)}", tag="ERROR") - raise ConnectionError(f"Cannot connect to server: {str(e)}") - - def _prepare_request(self, urls: List[str], browser_config: Optional[BrowserConfig] = None, - crawler_config: Optional[CrawlerRunConfig] = None) -> Dict[str, Any]: - """Prepare request data from configs.""" - return { - "urls": urls, - "browser_config": browser_config.dump() if browser_config else {}, - "crawler_config": crawler_config.dump() if crawler_config else {} - } - - async def _request(self, method: str, endpoint: str, **kwargs) -> httpx.Response: - """Make an HTTP request with error handling.""" - url = urljoin(self.base_url, endpoint) - try: - response = await self._http_client.request(method, url, **kwargs) - response.raise_for_status() - return response - except httpx.TimeoutException as e: - raise ConnectionError(f"Request timed out: {str(e)}") - except httpx.RequestError as e: - raise ConnectionError(f"Failed to connect: {str(e)}") - except httpx.HTTPStatusError as e: - error_msg = (e.response.json().get("detail", str(e)) - if "application/json" in e.response.headers.get("content-type", "") - else str(e)) - raise RequestError(f"Server error {e.response.status_code}: {error_msg}") - - async def crawl( - self, - urls: List[str], - browser_config: Optional[BrowserConfig] = None, - crawler_config: Optional[CrawlerRunConfig] = None - ) -> Union[CrawlResult, List[CrawlResult], AsyncGenerator[CrawlResult, None]]: - """Execute a crawl operation.""" - if not self._token: - raise Crawl4aiClientError("Authentication required. Call authenticate() first.") - await self._check_server() - - data = self._prepare_request(urls, browser_config, crawler_config) - is_streaming = crawler_config and crawler_config.stream - - self.logger.info(f"Crawling {len(urls)} URLs {'(streaming)' if is_streaming else ''}", tag="CRAWL") - - if is_streaming: - async def stream_results() -> AsyncGenerator[CrawlResult, None]: - async with self._http_client.stream("POST", f"{self.base_url}/crawl/stream", json=data) as response: - response.raise_for_status() - async for line in response.aiter_lines(): - if line.strip(): - result = json.loads(line) - if "error" in result: - self.logger.error_status(url=result.get("url", "unknown"), error=result["error"]) - continue - self.logger.url_status(url=result.get("url", "unknown"), success=True, timing=result.get("timing", 0.0)) - if result.get("status") == "completed": - continue - else: - yield CrawlResult(**result) - return stream_results() - - response = await self._request("POST", "/crawl", json=data) - result_data = response.json() - if not result_data.get("success", False): - raise RequestError(f"Crawl failed: {result_data.get('msg', 'Unknown error')}") - - results = [CrawlResult(**r) for r in result_data.get("results", [])] - self.logger.success(f"Crawl completed with {len(results)} results", tag="CRAWL") - return results[0] if len(results) == 1 else results - - async def get_schema(self) -> Dict[str, Any]: - """Retrieve configuration schemas.""" - if not self._token: - raise Crawl4aiClientError("Authentication required. Call authenticate() first.") - response = await self._request("GET", "/schema") - return response.json() - - async def close(self) -> None: - """Close the HTTP client session.""" - self.logger.info("Closing client", tag="CLOSE") - await self._http_client.aclose() - - async def __aenter__(self) -> "Crawl4aiDockerClient": - return self - - async def __aexit__(self, exc_type: Optional[type], exc_val: Optional[Exception], exc_tb: Optional[Any]) -> None: - await self.close() - - -# Example usage -async def main(): - async with Crawl4aiDockerClient(verbose=True) as client: - await client.authenticate("user@example.com") - result = await client.crawl(["https://example.com"]) - print(result) - schema = await client.get_schema() - print(schema) - -if __name__ == "__main__": - asyncio.run(main()) -``` - - -## File: crawl4ai/extraction_strategy.py - -```py -from abc import ABC, abstractmethod -import inspect -from typing import Any, List, Dict, Optional, Tuple, Pattern, Union -from concurrent.futures import ThreadPoolExecutor, as_completed -import json -import time -from enum import IntFlag, auto - -from .prompts import PROMPT_EXTRACT_BLOCKS, PROMPT_EXTRACT_BLOCKS_WITH_INSTRUCTION, PROMPT_EXTRACT_SCHEMA_WITH_INSTRUCTION, JSON_SCHEMA_BUILDER_XPATH, PROMPT_EXTRACT_INFERRED_SCHEMA -from .config import ( - DEFAULT_PROVIDER, - DEFAULT_PROVIDER_API_KEY, - CHUNK_TOKEN_THRESHOLD, - OVERLAP_RATE, - WORD_TOKEN_RATE, -) -from .utils import * # noqa: F403 - -from .utils import ( - sanitize_html, - escape_json_string, - perform_completion_with_backoff, - extract_xml_data, - split_and_parse_json_objects, - sanitize_input_encode, - merge_chunks, -) -from .models import * # noqa: F403 - -from .models import TokenUsage - -from .model_loader import * # noqa: F403 -from .model_loader import ( - get_device, - load_HF_embedding_model, - load_text_multilabel_classifier, - calculate_batch_size -) - -from .types import LLMConfig, create_llm_config - -from functools import partial -import numpy as np -import re -from bs4 import BeautifulSoup -from lxml import html, etree - - -class ExtractionStrategy(ABC): - """ - Abstract base class for all extraction strategies. - """ - - def __init__(self, input_format: str = "markdown", **kwargs): - """ - Initialize the extraction strategy. - - Args: - input_format: Content format to use for extraction. - Options: "markdown" (default), "html", "fit_markdown" - **kwargs: Additional keyword arguments - """ - self.input_format = input_format - self.DEL = "<|DEL|>" - self.name = self.__class__.__name__ - self.verbose = kwargs.get("verbose", False) - - @abstractmethod - def extract(self, url: str, html: str, *q, **kwargs) -> List[Dict[str, Any]]: - """ - Extract meaningful blocks or chunks from the given HTML. - - :param url: The URL of the webpage. - :param html: The HTML content of the webpage. - :return: A list of extracted blocks or chunks. - """ - pass - - def run(self, url: str, sections: List[str], *q, **kwargs) -> List[Dict[str, Any]]: - """ - Process sections of text in parallel by default. - - :param url: The URL of the webpage. - :param sections: List of sections (strings) to process. - :return: A list of processed JSON blocks. - """ - extracted_content = [] - with ThreadPoolExecutor() as executor: - futures = [ - executor.submit(self.extract, url, section, **kwargs) - for section in sections - ] - for future in as_completed(futures): - extracted_content.extend(future.result()) - return extracted_content - - -class NoExtractionStrategy(ExtractionStrategy): - """ - A strategy that does not extract any meaningful content from the HTML. It simply returns the entire HTML as a single block. - """ - - def extract(self, url: str, html: str, *q, **kwargs) -> List[Dict[str, Any]]: - """ - Extract meaningful blocks or chunks from the given HTML. - """ - return [{"index": 0, "content": html}] - - def run(self, url: str, sections: List[str], *q, **kwargs) -> List[Dict[str, Any]]: - return [ - {"index": i, "tags": [], "content": section} - for i, section in enumerate(sections) - ] - - -####################################################### -# Strategies using clustering for text data extraction # -####################################################### - - -class CosineStrategy(ExtractionStrategy): - """ - Extract meaningful blocks or chunks from the given HTML using cosine similarity. - - How it works: - 1. Pre-filter documents using embeddings and semantic_filter. - 2. Perform clustering using cosine similarity. - 3. Organize texts by their cluster labels, retaining order. - 4. Filter clusters by word count. - 5. Extract meaningful blocks or chunks from the filtered clusters. - - Attributes: - semantic_filter (str): A keyword filter for document filtering. - word_count_threshold (int): Minimum number of words per cluster. - max_dist (float): The maximum cophenetic distance on the dendrogram to form clusters. - linkage_method (str): The linkage method for hierarchical clustering. - top_k (int): Number of top categories to extract. - model_name (str): The name of the sentence-transformers model. - sim_threshold (float): The similarity threshold for clustering. - """ - - def __init__( - self, - semantic_filter=None, - word_count_threshold=10, - max_dist=0.2, - linkage_method="ward", - top_k=3, - model_name="sentence-transformers/all-MiniLM-L6-v2", - sim_threshold=0.3, - **kwargs, - ): - """ - Initialize the strategy with clustering parameters. - - Args: - semantic_filter (str): A keyword filter for document filtering. - word_count_threshold (int): Minimum number of words per cluster. - max_dist (float): The maximum cophenetic distance on the dendrogram to form clusters. - linkage_method (str): The linkage method for hierarchical clustering. - top_k (int): Number of top categories to extract. - """ - super().__init__(**kwargs) - - import numpy as np - - self.semantic_filter = semantic_filter - self.word_count_threshold = word_count_threshold - self.max_dist = max_dist - self.linkage_method = linkage_method - self.top_k = top_k - self.sim_threshold = sim_threshold - self.timer = time.time() - self.verbose = kwargs.get("verbose", False) - - self.buffer_embeddings = np.array([]) - self.get_embedding_method = "direct" - - self.device = get_device() - # import torch - # self.device = torch.device('cpu') - - self.default_batch_size = calculate_batch_size(self.device) - - if self.verbose: - print(f"[LOG] Loading Extraction Model for {self.device.type} device.") - - # if False and self.device.type == "cpu": - # self.model = load_onnx_all_MiniLM_l6_v2() - # self.tokenizer = self.model.tokenizer - # self.get_embedding_method = "direct" - # else: - - self.tokenizer, self.model = load_HF_embedding_model(model_name) - self.model.to(self.device) - self.model.eval() - - self.get_embedding_method = "batch" - - self.buffer_embeddings = np.array([]) - - # if model_name == "bert-base-uncased": - # self.tokenizer, self.model = load_bert_base_uncased() - # self.model.eval() # Ensure the model is in evaluation mode - # self.get_embedding_method = "batch" - # elif model_name == "BAAI/bge-small-en-v1.5": - # self.tokenizer, self.model = load_bge_small_en_v1_5() - # self.model.eval() # Ensure the model is in evaluation mode - # self.get_embedding_method = "batch" - # elif model_name == "sentence-transformers/all-MiniLM-L6-v2": - # self.model = load_onnx_all_MiniLM_l6_v2() - # self.tokenizer = self.model.tokenizer - # self.get_embedding_method = "direct" - - if self.verbose: - print(f"[LOG] Loading Multilabel Classifier for {self.device.type} device.") - - self.nlp, _ = load_text_multilabel_classifier() - # self.default_batch_size = 16 if self.device.type == 'cpu' else 64 - - if self.verbose: - print( - f"[LOG] Model loaded {model_name}, models/reuters, took " - + str(time.time() - self.timer) - + " seconds" - ) - - def filter_documents_embeddings( - self, documents: List[str], semantic_filter: str, at_least_k: int = 20 - ) -> List[str]: - """ - Filter and sort documents based on the cosine similarity of their embeddings with the semantic_filter embedding. - - Args: - documents (List[str]): A list of document texts. - semantic_filter (str): A keyword filter for document filtering. - at_least_k (int): The minimum number of documents to return. - - Returns: - List[str]: A list of filtered and sorted document texts. - """ - - if not semantic_filter: - return documents - - if len(documents) < at_least_k: - at_least_k = len(documents) // 2 - - from sklearn.metrics.pairwise import cosine_similarity - - # Compute embedding for the keyword filter - query_embedding = self.get_embeddings([semantic_filter])[0] - - # Compute embeddings for the documents - document_embeddings = self.get_embeddings(documents) - - # Calculate cosine similarity between the query embedding and document embeddings - similarities = cosine_similarity( - [query_embedding], document_embeddings - ).flatten() - - # Filter documents based on the similarity threshold - filtered_docs = [ - (doc, sim) - for doc, sim in zip(documents, similarities) - if sim >= self.sim_threshold - ] - - # If the number of filtered documents is less than at_least_k, sort remaining documents by similarity - if len(filtered_docs) < at_least_k: - remaining_docs = [ - (doc, sim) - for doc, sim in zip(documents, similarities) - if sim < self.sim_threshold - ] - remaining_docs.sort(key=lambda x: x[1], reverse=True) - filtered_docs.extend(remaining_docs[: at_least_k - len(filtered_docs)]) - - # Extract the document texts from the tuples - filtered_docs = [doc for doc, _ in filtered_docs] - - return filtered_docs[:at_least_k] - - def get_embeddings( - self, sentences: List[str], batch_size=None, bypass_buffer=False - ): - """ - Get BERT embeddings for a list of sentences. - - Args: - sentences (List[str]): A list of text chunks (sentences). - - Returns: - NumPy array of embeddings. - """ - # if self.buffer_embeddings.any() and not bypass_buffer: - # return self.buffer_embeddings - - if self.device.type in ["cpu", "gpu", "cuda", "mps"]: - import torch - - # Tokenize sentences and convert to tensor - if batch_size is None: - batch_size = self.default_batch_size - - all_embeddings = [] - for i in range(0, len(sentences), batch_size): - batch_sentences = sentences[i : i + batch_size] - encoded_input = self.tokenizer( - batch_sentences, padding=True, truncation=True, return_tensors="pt" - ) - encoded_input = { - key: tensor.to(self.device) for key, tensor in encoded_input.items() - } - - # Ensure no gradients are calculated - with torch.no_grad(): - model_output = self.model(**encoded_input) - - # Get embeddings from the last hidden state (mean pooling) - embeddings = model_output.last_hidden_state.mean(dim=1).cpu().numpy() - all_embeddings.append(embeddings) - - self.buffer_embeddings = np.vstack(all_embeddings) - elif self.device.type == "cpu": - # self.buffer_embeddings = self.model(sentences) - if batch_size is None: - batch_size = self.default_batch_size - - all_embeddings = [] - for i in range(0, len(sentences), batch_size): - batch_sentences = sentences[i : i + batch_size] - embeddings = self.model(batch_sentences) - all_embeddings.append(embeddings) - - self.buffer_embeddings = np.vstack(all_embeddings) - return self.buffer_embeddings - - def hierarchical_clustering(self, sentences: List[str], embeddings=None): - """ - Perform hierarchical clustering on sentences and return cluster labels. - - Args: - sentences (List[str]): A list of text chunks (sentences). - - Returns: - NumPy array of cluster labels. - """ - # Get embeddings - from scipy.cluster.hierarchy import linkage, fcluster - from scipy.spatial.distance import pdist - - self.timer = time.time() - embeddings = self.get_embeddings(sentences, bypass_buffer=True) - # print(f"[LOG] 🚀 Embeddings computed in {time.time() - self.timer:.2f} seconds") - # Compute pairwise cosine distances - distance_matrix = pdist(embeddings, "cosine") - # Perform agglomerative clustering respecting order - linked = linkage(distance_matrix, method=self.linkage_method) - # Form flat clusters - labels = fcluster(linked, self.max_dist, criterion="distance") - return labels - - def filter_clusters_by_word_count( - self, clusters: Dict[int, List[str]] - ) -> Dict[int, List[str]]: - """ - Filter clusters to remove those with a word count below the threshold. - - Args: - clusters (Dict[int, List[str]]): Dictionary of clusters. - - Returns: - Dict[int, List[str]]: Filtered dictionary of clusters. - """ - filtered_clusters = {} - for cluster_id, texts in clusters.items(): - # Concatenate texts for analysis - full_text = " ".join(texts) - # Count words - word_count = len(full_text.split()) - - # Keep clusters with word count above the threshold - if word_count >= self.word_count_threshold: - filtered_clusters[cluster_id] = texts - - return filtered_clusters - - def extract(self, url: str, html: str, *q, **kwargs) -> List[Dict[str, Any]]: - """ - Extract clusters from HTML content using hierarchical clustering. - - Args: - url (str): The URL of the webpage. - html (str): The HTML content of the webpage. - - Returns: - List[Dict[str, Any]]: A list of processed JSON blocks. - """ - # Assume `html` is a list of text chunks for this strategy - t = time.time() - text_chunks = html.split(self.DEL) # Split by lines or paragraphs as needed - - # Pre-filter documents using embeddings and semantic_filter - text_chunks = self.filter_documents_embeddings( - text_chunks, self.semantic_filter - ) - - if not text_chunks: - return [] - - # Perform clustering - labels = self.hierarchical_clustering(text_chunks) - # print(f"[LOG] 🚀 Clustering done in {time.time() - t:.2f} seconds") - - # Organize texts by their cluster labels, retaining order - t = time.time() - clusters = {} - for index, label in enumerate(labels): - clusters.setdefault(label, []).append(text_chunks[index]) - - # Filter clusters by word count - filtered_clusters = self.filter_clusters_by_word_count(clusters) - - # Convert filtered clusters to a sorted list of dictionaries - cluster_list = [ - {"index": int(idx), "tags": [], "content": " ".join(filtered_clusters[idx])} - for idx in sorted(filtered_clusters) - ] - - if self.verbose: - print(f"[LOG] 🚀 Assign tags using {self.device}") - - if self.device.type in ["gpu", "cuda", "mps", "cpu"]: - labels = self.nlp([cluster["content"] for cluster in cluster_list]) - - for cluster, label in zip(cluster_list, labels): - cluster["tags"] = label - # elif self.device.type == "cpu": - # # Process the text with the loaded model - # texts = [cluster['content'] for cluster in cluster_list] - # # Batch process texts - # docs = self.nlp.pipe(texts, disable=["tagger", "parser", "ner", "lemmatizer"]) - - # for doc, cluster in zip(docs, cluster_list): - # tok_k = self.top_k - # top_categories = sorted(doc.cats.items(), key=lambda x: x[1], reverse=True)[:tok_k] - # cluster['tags'] = [cat for cat, _ in top_categories] - - # for cluster in cluster_list: - # doc = self.nlp(cluster['content']) - # tok_k = self.top_k - # top_categories = sorted(doc.cats.items(), key=lambda x: x[1], reverse=True)[:tok_k] - # cluster['tags'] = [cat for cat, _ in top_categories] - - if self.verbose: - print(f"[LOG] 🚀 Categorization done in {time.time() - t:.2f} seconds") - - return cluster_list - - def run(self, url: str, sections: List[str], *q, **kwargs) -> List[Dict[str, Any]]: - """ - Process sections using hierarchical clustering. - - Args: - url (str): The URL of the webpage. - sections (List[str]): List of sections (strings) to process. - - Returns: - """ - # This strategy processes all sections together - - return self.extract(url, self.DEL.join(sections), **kwargs) - - -####################################################### -# Strategies using LLM-based extraction for text data # -####################################################### -class LLMExtractionStrategy(ExtractionStrategy): - """ - A strategy that uses an LLM to extract meaningful content from the HTML. - - Attributes: - llm_config: The LLM configuration object. - instruction: The instruction to use for the LLM model. - schema: Pydantic model schema for structured data. - extraction_type: "block" or "schema". - chunk_token_threshold: Maximum tokens per chunk. - overlap_rate: Overlap between chunks. - word_token_rate: Word to token conversion rate. - apply_chunking: Whether to apply chunking. - verbose: Whether to print verbose output. - usages: List of individual token usages. - total_usage: Accumulated token usage. - """ - _UNWANTED_PROPS = { - 'provider' : 'Instead, use llm_config=LLMConfig(provider="...")', - 'api_token' : 'Instead, use llm_config=LlMConfig(api_token="...")', - 'base_url' : 'Instead, use llm_config=LLMConfig(base_url="...")', - 'api_base' : 'Instead, use llm_config=LLMConfig(base_url="...")', - } - def __init__( - self, - llm_config: 'LLMConfig' = None, - instruction: str = None, - schema: Dict = None, - extraction_type="block", - chunk_token_threshold=CHUNK_TOKEN_THRESHOLD, - overlap_rate=OVERLAP_RATE, - word_token_rate=WORD_TOKEN_RATE, - apply_chunking=True, - input_format: str = "markdown", - force_json_response=False, - verbose=False, - # Deprecated arguments - provider: str = DEFAULT_PROVIDER, - api_token: Optional[str] = None, - base_url: str = None, - api_base: str = None, - **kwargs, - ): - """ - Initialize the strategy with clustering parameters. - - Args: - llm_config: The LLM configuration object. - instruction: The instruction to use for the LLM model. - schema: Pydantic model schema for structured data. - extraction_type: "block" or "schema". - chunk_token_threshold: Maximum tokens per chunk. - overlap_rate: Overlap between chunks. - word_token_rate: Word to token conversion rate. - apply_chunking: Whether to apply chunking. - input_format: Content format to use for extraction. - Options: "markdown" (default), "html", "fit_markdown" - force_json_response: Whether to force a JSON response from the LLM. - verbose: Whether to print verbose output. - - # Deprecated arguments, will be removed very soon - provider: The provider to use for extraction. It follows the format /, e.g., "ollama/llama3.3". - api_token: The API token for the provider. - base_url: The base URL for the API request. - api_base: The base URL for the API request. - extra_args: Additional arguments for the API request, such as temperature, max_tokens, etc. - """ - super().__init__( input_format=input_format, **kwargs) - self.llm_config = llm_config - if not self.llm_config: - self.llm_config = create_llm_config( - provider=DEFAULT_PROVIDER, - api_token=os.environ.get(DEFAULT_PROVIDER_API_KEY), - ) - self.instruction = instruction - self.extract_type = extraction_type - self.schema = schema - if schema: - self.extract_type = "schema" - self.force_json_response = force_json_response - self.chunk_token_threshold = chunk_token_threshold or CHUNK_TOKEN_THRESHOLD - self.overlap_rate = overlap_rate - self.word_token_rate = word_token_rate - self.apply_chunking = apply_chunking - self.extra_args = kwargs.get("extra_args", {}) - if not self.apply_chunking: - self.chunk_token_threshold = 1e9 - self.verbose = verbose - self.usages = [] # Store individual usages - self.total_usage = TokenUsage() # Accumulated usage - - self.provider = provider - self.api_token = api_token - self.base_url = base_url - self.api_base = api_base - - - def __setattr__(self, name, value): - """Handle attribute setting.""" - # TODO: Planning to set properties dynamically based on the __init__ signature - sig = inspect.signature(self.__init__) - all_params = sig.parameters # Dictionary of parameter names and their details - - if name in self._UNWANTED_PROPS and value is not all_params[name].default: - raise AttributeError(f"Setting '{name}' is deprecated. {self._UNWANTED_PROPS[name]}") - - super().__setattr__(name, value) - - def extract(self, url: str, ix: int, html: str) -> List[Dict[str, Any]]: - """ - Extract meaningful blocks or chunks from the given HTML using an LLM. - - How it works: - 1. Construct a prompt with variables. - 2. Make a request to the LLM using the prompt. - 3. Parse the response and extract blocks or chunks. - - Args: - url: The URL of the webpage. - ix: Index of the block. - html: The HTML content of the webpage. - - Returns: - A list of extracted blocks or chunks. - """ - if self.verbose: - # print("[LOG] Extracting blocks from URL:", url) - print(f"[LOG] Call LLM for {url} - block index: {ix}") - - variable_values = { - "URL": url, - "HTML": escape_json_string(sanitize_html(html)), - } - - prompt_with_variables = PROMPT_EXTRACT_BLOCKS - if self.instruction: - variable_values["REQUEST"] = self.instruction - prompt_with_variables = PROMPT_EXTRACT_BLOCKS_WITH_INSTRUCTION - - if self.extract_type == "schema" and self.schema: - variable_values["SCHEMA"] = json.dumps(self.schema, indent=2) # if type of self.schema is dict else self.schema - prompt_with_variables = PROMPT_EXTRACT_SCHEMA_WITH_INSTRUCTION - - if self.extract_type == "schema" and not self.schema: - prompt_with_variables = PROMPT_EXTRACT_INFERRED_SCHEMA - - for variable in variable_values: - prompt_with_variables = prompt_with_variables.replace( - "{" + variable + "}", variable_values[variable] - ) - - try: - response = perform_completion_with_backoff( - self.llm_config.provider, - prompt_with_variables, - self.llm_config.api_token, - base_url=self.llm_config.base_url, - json_response=self.force_json_response, - extra_args=self.extra_args, - ) # , json_response=self.extract_type == "schema") - # Track usage - usage = TokenUsage( - completion_tokens=response.usage.completion_tokens, - prompt_tokens=response.usage.prompt_tokens, - total_tokens=response.usage.total_tokens, - completion_tokens_details=response.usage.completion_tokens_details.__dict__ - if response.usage.completion_tokens_details - else {}, - prompt_tokens_details=response.usage.prompt_tokens_details.__dict__ - if response.usage.prompt_tokens_details - else {}, - ) - self.usages.append(usage) - - # Update totals - self.total_usage.completion_tokens += usage.completion_tokens - self.total_usage.prompt_tokens += usage.prompt_tokens - self.total_usage.total_tokens += usage.total_tokens - - try: - response = response.choices[0].message.content - blocks = None - - if self.force_json_response: - blocks = json.loads(response) - if isinstance(blocks, dict): - # If it has only one key which calue is list then assign that to blocks, exampled: {"news": [..]} - if len(blocks) == 1 and isinstance(list(blocks.values())[0], list): - blocks = list(blocks.values())[0] - else: - # If it has only one key which value is not list then assign that to blocks, exampled: { "article_id": "1234", ... } - blocks = [blocks] - elif isinstance(blocks, list): - # If it is a list then assign that to blocks - blocks = blocks - else: - # blocks = extract_xml_data(["blocks"], response.choices[0].message.content)["blocks"] - blocks = extract_xml_data(["blocks"], response)["blocks"] - blocks = json.loads(blocks) - - for block in blocks: - block["error"] = False - except Exception: - parsed, unparsed = split_and_parse_json_objects( - response.choices[0].message.content - ) - blocks = parsed - if unparsed: - blocks.append( - {"index": 0, "error": True, "tags": ["error"], "content": unparsed} - ) - - if self.verbose: - print( - "[LOG] Extracted", - len(blocks), - "blocks from URL:", - url, - "block index:", - ix, - ) - return blocks - except Exception as e: - if self.verbose: - print(f"[LOG] Error in LLM extraction: {e}") - # Add error information to extracted_content - return [ - { - "index": ix, - "error": True, - "tags": ["error"], - "content": str(e), - } - ] - - def _merge(self, documents, chunk_token_threshold, overlap) -> List[str]: - """ - Merge documents into sections based on chunk_token_threshold and overlap. - """ - sections = merge_chunks( - docs = documents, - target_size= chunk_token_threshold, - overlap=overlap, - word_token_ratio=self.word_token_rate - ) - return sections - - def run(self, url: str, sections: List[str]) -> List[Dict[str, Any]]: - """ - Process sections sequentially with a delay for rate limiting issues, specifically for LLMExtractionStrategy. - - Args: - url: The URL of the webpage. - sections: List of sections (strings) to process. - - Returns: - A list of extracted blocks or chunks. - """ - - merged_sections = self._merge( - sections, - self.chunk_token_threshold, - overlap=int(self.chunk_token_threshold * self.overlap_rate), - ) - extracted_content = [] - if self.llm_config.provider.startswith("groq/"): - # Sequential processing with a delay - for ix, section in enumerate(merged_sections): - extract_func = partial(self.extract, url) - extracted_content.extend( - extract_func(ix, sanitize_input_encode(section)) - ) - time.sleep(0.5) # 500 ms delay between each processing - else: - # Parallel processing using ThreadPoolExecutor - # extract_func = partial(self.extract, url) - # for ix, section in enumerate(merged_sections): - # extracted_content.append(extract_func(ix, section)) - - with ThreadPoolExecutor(max_workers=4) as executor: - extract_func = partial(self.extract, url) - futures = [ - executor.submit(extract_func, ix, sanitize_input_encode(section)) - for ix, section in enumerate(merged_sections) - ] - - for future in as_completed(futures): - try: - extracted_content.extend(future.result()) - except Exception as e: - if self.verbose: - print(f"Error in thread execution: {e}") - # Add error information to extracted_content - extracted_content.append( - { - "index": 0, - "error": True, - "tags": ["error"], - "content": str(e), - } - ) - - return extracted_content - - def show_usage(self) -> None: - """Print a detailed token usage report showing total and per-request usage.""" - print("\n=== Token Usage Summary ===") - print(f"{'Type':<15} {'Count':>12}") - print("-" * 30) - print(f"{'Completion':<15} {self.total_usage.completion_tokens:>12,}") - print(f"{'Prompt':<15} {self.total_usage.prompt_tokens:>12,}") - print(f"{'Total':<15} {self.total_usage.total_tokens:>12,}") - - print("\n=== Usage History ===") - print(f"{'Request #':<10} {'Completion':>12} {'Prompt':>12} {'Total':>12}") - print("-" * 48) - for i, usage in enumerate(self.usages, 1): - print( - f"{i:<10} {usage.completion_tokens:>12,} {usage.prompt_tokens:>12,} {usage.total_tokens:>12,}" - ) - - -####################################################### -# New extraction strategies for JSON-based extraction # -####################################################### -class JsonElementExtractionStrategy(ExtractionStrategy): - """ - Abstract base class for extracting structured JSON from HTML content. - - How it works: - 1. Parses HTML content using the `_parse_html` method. - 2. Uses a schema to define base selectors, fields, and transformations. - 3. Extracts data hierarchically, supporting nested fields and lists. - 4. Handles computed fields with expressions or functions. - - Attributes: - DEL (str): Delimiter used to combine HTML sections. Defaults to '\n'. - schema (Dict[str, Any]): The schema defining the extraction rules. - verbose (bool): Enables verbose logging for debugging purposes. - - Methods: - extract(url, html_content, *q, **kwargs): Extracts structured data from HTML content. - _extract_item(element, fields): Extracts fields from a single element. - _extract_single_field(element, field): Extracts a single field based on its type. - _apply_transform(value, transform): Applies a transformation to a value. - _compute_field(item, field): Computes a field value using an expression or function. - run(url, sections, *q, **kwargs): Combines HTML sections and runs the extraction strategy. - - Abstract Methods: - _parse_html(html_content): Parses raw HTML into a structured format (e.g., BeautifulSoup or lxml). - _get_base_elements(parsed_html, selector): Retrieves base elements using a selector. - _get_elements(element, selector): Retrieves child elements using a selector. - _get_element_text(element): Extracts text content from an element. - _get_element_html(element): Extracts raw HTML from an element. - _get_element_attribute(element, attribute): Extracts an attribute's value from an element. - """ - - DEL = "\n" - - def __init__(self, schema: Dict[str, Any], **kwargs): - """ - Initialize the JSON element extraction strategy with a schema. - - Args: - schema (Dict[str, Any]): The schema defining the extraction rules. - """ - super().__init__(**kwargs) - self.schema = schema - self.verbose = kwargs.get("verbose", False) - - def extract( - self, url: str, html_content: str, *q, **kwargs - ) -> List[Dict[str, Any]]: - """ - Extract structured data from HTML content. - - How it works: - 1. Parses the HTML content using the `_parse_html` method. - 2. Identifies base elements using the schema's base selector. - 3. Extracts fields from each base element using `_extract_item`. - - Args: - url (str): The URL of the page being processed. - html_content (str): The raw HTML content to parse and extract. - *q: Additional positional arguments. - **kwargs: Additional keyword arguments for custom extraction. - - Returns: - List[Dict[str, Any]]: A list of extracted items, each represented as a dictionary. - """ - - parsed_html = self._parse_html(html_content) - base_elements = self._get_base_elements( - parsed_html, self.schema["baseSelector"] - ) - - results = [] - for element in base_elements: - # Extract base element attributes - item = {} - if "baseFields" in self.schema: - for field in self.schema["baseFields"]: - value = self._extract_single_field(element, field) - if value is not None: - item[field["name"]] = value - - # Extract child fields - field_data = self._extract_item(element, self.schema["fields"]) - item.update(field_data) - - if item: - results.append(item) - - return results - - @abstractmethod - def _parse_html(self, html_content: str): - """Parse HTML content into appropriate format""" - pass - - @abstractmethod - def _get_base_elements(self, parsed_html, selector: str): - """Get all base elements using the selector""" - pass - - @abstractmethod - def _get_elements(self, element, selector: str): - """Get child elements using the selector""" - pass - - def _extract_field(self, element, field): - try: - if field["type"] == "nested": - nested_elements = self._get_elements(element, field["selector"]) - nested_element = nested_elements[0] if nested_elements else None - return ( - self._extract_item(nested_element, field["fields"]) - if nested_element - else {} - ) - - if field["type"] == "list": - elements = self._get_elements(element, field["selector"]) - return [self._extract_list_item(el, field["fields"]) for el in elements] - - if field["type"] == "nested_list": - elements = self._get_elements(element, field["selector"]) - return [self._extract_item(el, field["fields"]) for el in elements] - - return self._extract_single_field(element, field) - except Exception as e: - if self.verbose: - print(f"Error extracting field {field['name']}: {str(e)}") - return field.get("default") - - def _extract_single_field(self, element, field): - """ - Extract a single field based on its type. - - How it works: - 1. Selects the target element using the field's selector. - 2. Extracts the field value based on its type (e.g., text, attribute, regex). - 3. Applies transformations if defined in the schema. - - Args: - element: The base element to extract the field from. - field (Dict[str, Any]): The field definition in the schema. - - Returns: - Any: The extracted field value. - """ - - if "selector" in field: - selected = self._get_elements(element, field["selector"]) - if not selected: - return field.get("default") - selected = selected[0] - else: - selected = element - - value = None - if field["type"] == "text": - value = self._get_element_text(selected) - elif field["type"] == "attribute": - value = self._get_element_attribute(selected, field["attribute"]) - elif field["type"] == "html": - value = self._get_element_html(selected) - elif field["type"] == "regex": - text = self._get_element_text(selected) - match = re.search(field["pattern"], text) - value = match.group(1) if match else None - - if "transform" in field: - value = self._apply_transform(value, field["transform"]) - - return value if value is not None else field.get("default") - - def _extract_list_item(self, element, fields): - item = {} - for field in fields: - value = self._extract_single_field(element, field) - if value is not None: - item[field["name"]] = value - return item - - def _extract_item(self, element, fields): - """ - Extracts fields from a given element. - - How it works: - 1. Iterates through the fields defined in the schema. - 2. Handles computed, single, and nested field types. - 3. Updates the item dictionary with extracted field values. - - Args: - element: The base element to extract fields from. - fields (List[Dict[str, Any]]): The list of fields to extract. - - Returns: - Dict[str, Any]: A dictionary representing the extracted item. - """ - - item = {} - for field in fields: - if field["type"] == "computed": - value = self._compute_field(item, field) - else: - value = self._extract_field(element, field) - if value is not None: - item[field["name"]] = value - return item - - def _apply_transform(self, value, transform): - """ - Apply a transformation to a value. - - How it works: - 1. Checks the transformation type (e.g., `lowercase`, `strip`). - 2. Applies the transformation to the value. - 3. Returns the transformed value. - - Args: - value (str): The value to transform. - transform (str): The type of transformation to apply. - - Returns: - str: The transformed value. - """ - - if transform == "lowercase": - return value.lower() - elif transform == "uppercase": - return value.upper() - elif transform == "strip": - return value.strip() - return value - - def _compute_field(self, item, field): - try: - if "expression" in field: - return eval(field["expression"], {}, item) - elif "function" in field: - return field["function"](item) - except Exception as e: - if self.verbose: - print(f"Error computing field {field['name']}: {str(e)}") - return field.get("default") - - def run(self, url: str, sections: List[str], *q, **kwargs) -> List[Dict[str, Any]]: - """ - Run the extraction strategy on a combined HTML content. - - How it works: - 1. Combines multiple HTML sections using the `DEL` delimiter. - 2. Calls the `extract` method with the combined HTML. - - Args: - url (str): The URL of the page being processed. - sections (List[str]): A list of HTML sections. - *q: Additional positional arguments. - **kwargs: Additional keyword arguments for custom extraction. - - Returns: - List[Dict[str, Any]]: A list of extracted items. - """ - - combined_html = self.DEL.join(sections) - return self.extract(url, combined_html, **kwargs) - - @abstractmethod - def _get_element_text(self, element) -> str: - """Get text content from element""" - pass - - @abstractmethod - def _get_element_html(self, element) -> str: - """Get HTML content from element""" - pass - - @abstractmethod - def _get_element_attribute(self, element, attribute: str): - """Get attribute value from element""" - pass - - _GENERATE_SCHEMA_UNWANTED_PROPS = { - 'provider': 'Instead, use llm_config=LLMConfig(provider="...")', - 'api_token': 'Instead, use llm_config=LlMConfig(api_token="...")', - } - - @staticmethod - def generate_schema( - html: str, - schema_type: str = "CSS", # or XPATH - query: str = None, - target_json_example: str = None, - llm_config: 'LLMConfig' = create_llm_config(), - provider: str = None, - api_token: str = None, - **kwargs - ) -> dict: - """ - Generate extraction schema from HTML content and optional query. - - Args: - html (str): The HTML content to analyze - query (str, optional): Natural language description of what data to extract - provider (str): Legacy Parameter. LLM provider to use - api_token (str): Legacy Parameter. API token for LLM provider - llm_config (LLMConfig): LLM configuration object - prompt (str, optional): Custom prompt template to use - **kwargs: Additional args passed to LLM processor - - Returns: - dict: Generated schema following the JsonElementExtractionStrategy format - """ - from .prompts import JSON_SCHEMA_BUILDER - from .utils import perform_completion_with_backoff - for name, message in JsonElementExtractionStrategy._GENERATE_SCHEMA_UNWANTED_PROPS.items(): - if locals()[name] is not None: - raise AttributeError(f"Setting '{name}' is deprecated. {message}") - - # Use default or custom prompt - prompt_template = JSON_SCHEMA_BUILDER if schema_type == "CSS" else JSON_SCHEMA_BUILDER_XPATH - - # Build the prompt - system_message = { - "role": "system", - "content": f"""You specialize in generating special JSON schemas for web scraping. This schema uses CSS or XPATH selectors to present a repetitive pattern in crawled HTML, such as a product in a product list or a search result item in a list of search results. We use this JSON schema to pass to a language model along with the HTML content to extract structured data from the HTML. The language model uses the JSON schema to extract data from the HTML and retrieve values for fields in the JSON schema, following the schema. - -Generating this HTML manually is not feasible, so you need to generate the JSON schema using the HTML content. The HTML copied from the crawled website is provided below, which we believe contains the repetitive pattern. - -# Schema main keys: -- name: This is the name of the schema. -- baseSelector: This is the CSS or XPATH selector that identifies the base element that contains all the repetitive patterns. -- baseFields: This is a list of fields that you extract from the base element itself. -- fields: This is a list of fields that you extract from the children of the base element. {{name, selector, type}} based on the type, you may have extra keys such as "attribute" when the type is "attribute". - -# Extra Context: -In this context, the following items may or may not be present: -- Example of target JSON object: This is a sample of the final JSON object that we hope to extract from the HTML using the schema you are generating. -- Extra Instructions: This is optional instructions to consider when generating the schema provided by the user. -- Query or explanation of target/goal data item: This is a description of what data we are trying to extract from the HTML. This explanation means we're not sure about the rigid schema of the structures we want, so we leave it to you to use your expertise to create the best and most comprehensive structures aimed at maximizing data extraction from this page. You must ensure that you do not pick up nuances that may exist on a particular page. The focus should be on the data we are extracting, and it must be valid, safe, and robust based on the given HTML. - -# What if there is no example of target JSON object and also no extra instructions or even no explanation of target/goal data item? -In this scenario, use your best judgment to generate the schema. You need to examine the content of the page and understand the data it provides. If the page contains repetitive data, such as lists of items, products, jobs, places, books, or movies, focus on one single item that repeats. If the page is a detailed page about one product or item, create a schema to extract the entire structured data. At this stage, you must think and decide for yourself. Try to maximize the number of fields that you can extract from the HTML. - -# What are the instructions and details for this schema generation? -{prompt_template}""" - } - - user_message = { - "role": "user", - "content": f""" - HTML to analyze: - ```html - {html} - ``` - """ - } - - if query: - user_message["content"] += f"\n\n## Query or explanation of target/goal data item:\n{query}" - if target_json_example: - user_message["content"] += f"\n\n## Example of target JSON object:\n```json\n{target_json_example}\n```" - - if query and not target_json_example: - user_message["content"] += """IMPORTANT: To remind you, in this process, we are not providing a rigid example of the adjacent objects we seek. We rely on your understanding of the explanation provided in the above section. Make sure to grasp what we are looking for and, based on that, create the best schema..""" - elif not query and target_json_example: - user_message["content"] += """IMPORTANT: Please remember that in this process, we provided a proper example of a target JSON object. Make sure to adhere to the structure and create a schema that exactly fits this example. If you find that some elements on the page do not match completely, vote for the majority.""" - elif not query and not target_json_example: - user_message["content"] += """IMPORTANT: Since we neither have a query nor an example, it is crucial to rely solely on the HTML content provided. Leverage your expertise to determine the schema based on the repetitive patterns observed in the content.""" - - user_message["content"] += """IMPORTANT: Ensure your schema remains reliable by avoiding selectors that appear to generate dynamically and are not dependable. You want a reliable schema, as it consistently returns the same data even after many page reloads. - - Analyze the HTML and generate a JSON schema that follows the specified format. Only output valid JSON schema, nothing else. - """ - - try: - # Call LLM with backoff handling - response = perform_completion_with_backoff( - provider=llm_config.provider, - prompt_with_variables="\n\n".join([system_message["content"], user_message["content"]]), - json_response = True, - api_token=llm_config.api_token, - base_url=llm_config.base_url, - extra_args=kwargs - ) - - # Extract and return schema - return json.loads(response.choices[0].message.content) - - except Exception as e: - raise Exception(f"Failed to generate schema: {str(e)}") - -class JsonCssExtractionStrategy(JsonElementExtractionStrategy): - """ - Concrete implementation of `JsonElementExtractionStrategy` using CSS selectors. - - How it works: - 1. Parses HTML content with BeautifulSoup. - 2. Selects elements using CSS selectors defined in the schema. - 3. Extracts field data and applies transformations as defined. - - Attributes: - schema (Dict[str, Any]): The schema defining the extraction rules. - verbose (bool): Enables verbose logging for debugging purposes. - - Methods: - _parse_html(html_content): Parses HTML content into a BeautifulSoup object. - _get_base_elements(parsed_html, selector): Selects base elements using a CSS selector. - _get_elements(element, selector): Selects child elements using a CSS selector. - _get_element_text(element): Extracts text content from a BeautifulSoup element. - _get_element_html(element): Extracts the raw HTML content of a BeautifulSoup element. - _get_element_attribute(element, attribute): Retrieves an attribute value from a BeautifulSoup element. - """ - - def __init__(self, schema: Dict[str, Any], **kwargs): - kwargs["input_format"] = "html" # Force HTML input - super().__init__(schema, **kwargs) - - def _parse_html(self, html_content: str): - # return BeautifulSoup(html_content, "html.parser") - return BeautifulSoup(html_content, "lxml") - - def _get_base_elements(self, parsed_html, selector: str): - return parsed_html.select(selector) - - def _get_elements(self, element, selector: str): - # Return all matching elements using select() instead of select_one() - # This ensures that we get all elements that match the selector, not just the first one - return element.select(selector) - - def _get_element_text(self, element) -> str: - return element.get_text(strip=True) - - def _get_element_html(self, element) -> str: - return str(element) - - def _get_element_attribute(self, element, attribute: str): - return element.get(attribute) - -class JsonLxmlExtractionStrategy(JsonElementExtractionStrategy): - def __init__(self, schema: Dict[str, Any], **kwargs): - kwargs["input_format"] = "html" - super().__init__(schema, **kwargs) - self._selector_cache = {} - self._xpath_cache = {} - self._result_cache = {} - - # Control selector optimization strategy - self.use_caching = kwargs.get("use_caching", True) - self.optimize_common_patterns = kwargs.get("optimize_common_patterns", True) - - # Load lxml dependencies once - from lxml import etree, html - from lxml.cssselect import CSSSelector - self.etree = etree - self.html_parser = html - self.CSSSelector = CSSSelector - - def _parse_html(self, html_content: str): - """Parse HTML content with error recovery""" - try: - parser = self.etree.HTMLParser(recover=True, remove_blank_text=True) - return self.etree.fromstring(html_content, parser) - except Exception as e: - if self.verbose: - print(f"Error parsing HTML, falling back to alternative method: {e}") - try: - return self.html_parser.fromstring(html_content) - except Exception as e2: - if self.verbose: - print(f"Critical error parsing HTML: {e2}") - # Create minimal document as fallback - return self.etree.Element("html") - - def _optimize_selector(self, selector_str): - """Optimize common selector patterns for better performance""" - if not self.optimize_common_patterns: - return selector_str - - # Handle td:nth-child(N) pattern which is very common in table scraping - import re - if re.search(r'td:nth-child\(\d+\)', selector_str): - return selector_str # Already handled specially in _apply_selector - - # Split complex selectors into parts for optimization - parts = selector_str.split() - if len(parts) <= 1: - return selector_str - - # For very long selectors, consider using just the last specific part - if len(parts) > 3 and any(p.startswith('.') or p.startswith('#') for p in parts): - specific_parts = [p for p in parts if p.startswith('.') or p.startswith('#')] - if specific_parts: - return specific_parts[-1] # Use most specific class/id selector - - return selector_str - - def _create_selector_function(self, selector_str): - """Create a selector function that handles all edge cases""" - original_selector = selector_str - - # Try to optimize the selector if appropriate - if self.optimize_common_patterns: - selector_str = self._optimize_selector(selector_str) - - try: - # Attempt to compile the CSS selector - compiled = self.CSSSelector(selector_str) - xpath = compiled.path - - # Store XPath for later use - self._xpath_cache[selector_str] = xpath - - # Create the wrapper function that implements the selection strategy - def selector_func(element, context_sensitive=True): - cache_key = None - - # Use result caching if enabled - if self.use_caching: - # Create a cache key based on element and selector - element_id = element.get('id', '') or str(hash(element)) - cache_key = f"{element_id}::{selector_str}" - - if cache_key in self._result_cache: - return self._result_cache[cache_key] - - results = [] - try: - # Strategy 1: Direct CSS selector application (fastest) - results = compiled(element) - - # If that fails and we need context sensitivity - if not results and context_sensitive: - # Strategy 2: Try XPath with context adjustment - context_xpath = self._make_context_sensitive_xpath(xpath, element) - if context_xpath: - results = element.xpath(context_xpath) - - # Strategy 3: Handle special case - nth-child - if not results and 'nth-child' in original_selector: - results = self._handle_nth_child_selector(element, original_selector) - - # Strategy 4: Direct descendant search for class/ID selectors - if not results: - results = self._fallback_class_id_search(element, original_selector) - - # Strategy 5: Last resort - tag name search for the final part - if not results: - parts = original_selector.split() - if parts: - last_part = parts[-1] - # Extract tag name from the selector - tag_match = re.match(r'^(\w+)', last_part) - if tag_match: - tag_name = tag_match.group(1) - results = element.xpath(f".//{tag_name}") - - # Cache results if caching is enabled - if self.use_caching and cache_key: - self._result_cache[cache_key] = results - - except Exception as e: - if self.verbose: - print(f"Error applying selector '{selector_str}': {e}") - - return results - - return selector_func - - except Exception as e: - if self.verbose: - print(f"Error compiling selector '{selector_str}': {e}") - - # Fallback function for invalid selectors - return lambda element, context_sensitive=True: [] - - def _make_context_sensitive_xpath(self, xpath, element): - """Convert absolute XPath to context-sensitive XPath""" - try: - # If starts with descendant-or-self, it's already context-sensitive - if xpath.startswith('descendant-or-self::'): - return xpath - - # Remove leading slash if present - if xpath.startswith('/'): - context_xpath = f".{xpath}" - else: - context_xpath = f".//{xpath}" - - # Validate the XPath by trying it - try: - element.xpath(context_xpath) - return context_xpath - except: - # If that fails, try a simpler descendant search - return f".//{xpath.split('/')[-1]}" - except: - return None - - def _handle_nth_child_selector(self, element, selector_str): - """Special handling for nth-child selectors in tables""" - import re - results = [] - - try: - # Extract the column number from td:nth-child(N) - match = re.search(r'td:nth-child\((\d+)\)', selector_str) - if match: - col_num = match.group(1) - - # Check if there's content after the nth-child part - remaining_selector = selector_str.split(f"td:nth-child({col_num})", 1)[-1].strip() - - if remaining_selector: - # If there's a specific element we're looking for after the column - # Extract any tag names from the remaining selector - tag_match = re.search(r'(\w+)', remaining_selector) - tag_name = tag_match.group(1) if tag_match else '*' - results = element.xpath(f".//td[{col_num}]//{tag_name}") - else: - # Just get the column cell - results = element.xpath(f".//td[{col_num}]") - except Exception as e: - if self.verbose: - print(f"Error handling nth-child selector: {e}") - - return results - - def _fallback_class_id_search(self, element, selector_str): - """Fallback to search by class or ID""" - results = [] - - try: - # Extract class selectors (.classname) - import re - class_matches = re.findall(r'\.([a-zA-Z0-9_-]+)', selector_str) - - # Extract ID selectors (#idname) - id_matches = re.findall(r'#([a-zA-Z0-9_-]+)', selector_str) - - # Try each class - for class_name in class_matches: - class_results = element.xpath(f".//*[contains(@class, '{class_name}')]") - results.extend(class_results) - - # Try each ID (usually more specific) - for id_name in id_matches: - id_results = element.xpath(f".//*[@id='{id_name}']") - results.extend(id_results) - except Exception as e: - if self.verbose: - print(f"Error in fallback class/id search: {e}") - - return results - - def _get_selector(self, selector_str): - """Get or create a selector function with caching""" - if selector_str not in self._selector_cache: - self._selector_cache[selector_str] = self._create_selector_function(selector_str) - return self._selector_cache[selector_str] - - def _get_base_elements(self, parsed_html, selector: str): - """Get all base elements using the selector""" - selector_func = self._get_selector(selector) - # For base elements, we don't need context sensitivity - return selector_func(parsed_html, context_sensitive=False) - - def _get_elements(self, element, selector: str): - """Get child elements using the selector with context sensitivity""" - selector_func = self._get_selector(selector) - return selector_func(element, context_sensitive=True) - - def _get_element_text(self, element) -> str: - """Extract normalized text from element""" - try: - # Get all text nodes and normalize - text = " ".join(t.strip() for t in element.xpath(".//text()") if t.strip()) - return text - except Exception as e: - if self.verbose: - print(f"Error extracting text: {e}") - # Fallback - try: - return element.text_content().strip() - except: - return "" - - def _get_element_html(self, element) -> str: - """Get HTML string representation of element""" - try: - return self.etree.tostring(element, encoding='unicode', method='html') - except Exception as e: - if self.verbose: - print(f"Error serializing HTML: {e}") - return "" - - def _get_element_attribute(self, element, attribute: str): - """Get attribute value safely""" - try: - return element.get(attribute) - except Exception as e: - if self.verbose: - print(f"Error getting attribute '{attribute}': {e}") - return None - - def _clear_caches(self): - """Clear caches to free memory""" - if self.use_caching: - self._result_cache.clear() - -class JsonLxmlExtractionStrategy_naive(JsonElementExtractionStrategy): - def __init__(self, schema: Dict[str, Any], **kwargs): - kwargs["input_format"] = "html" # Force HTML input - super().__init__(schema, **kwargs) - self._selector_cache = {} - - def _parse_html(self, html_content: str): - from lxml import etree - parser = etree.HTMLParser(recover=True) - return etree.fromstring(html_content, parser) - - def _get_selector(self, selector_str): - """Get a selector function that works within the context of an element""" - if selector_str not in self._selector_cache: - from lxml.cssselect import CSSSelector - try: - # Store both the compiled selector and its xpath translation - compiled = CSSSelector(selector_str) - - # Create a function that will apply this selector appropriately - def select_func(element): - try: - # First attempt: direct CSS selector application - results = compiled(element) - if results: - return results - - # Second attempt: contextual XPath selection - # Convert the root-based XPath to a context-based XPath - xpath = compiled.path - - # If the XPath already starts with descendant-or-self, handle it specially - if xpath.startswith('descendant-or-self::'): - context_xpath = xpath - else: - # For normal XPath expressions, make them relative to current context - context_xpath = f"./{xpath.lstrip('/')}" - - results = element.xpath(context_xpath) - if results: - return results - - # Final fallback: simple descendant search for common patterns - if 'nth-child' in selector_str: - # Handle td:nth-child(N) pattern - import re - match = re.search(r'td:nth-child\((\d+)\)', selector_str) - if match: - col_num = match.group(1) - sub_selector = selector_str.split(')', 1)[-1].strip() - if sub_selector: - return element.xpath(f".//td[{col_num}]//{sub_selector}") - else: - return element.xpath(f".//td[{col_num}]") - - # Last resort: try each part of the selector separately - parts = selector_str.split() - if len(parts) > 1 and parts[-1]: - return element.xpath(f".//{parts[-1]}") - - return [] - except Exception as e: - if self.verbose: - print(f"Error applying selector '{selector_str}': {e}") - return [] - - self._selector_cache[selector_str] = select_func - except Exception as e: - if self.verbose: - print(f"Error compiling selector '{selector_str}': {e}") - - # Fallback function for invalid selectors - def fallback_func(element): - return [] - - self._selector_cache[selector_str] = fallback_func - - return self._selector_cache[selector_str] - - def _get_base_elements(self, parsed_html, selector: str): - selector_func = self._get_selector(selector) - return selector_func(parsed_html) - - def _get_elements(self, element, selector: str): - selector_func = self._get_selector(selector) - return selector_func(element) - - def _get_element_text(self, element) -> str: - return "".join(element.xpath(".//text()")).strip() - - def _get_element_html(self, element) -> str: - from lxml import etree - return etree.tostring(element, encoding='unicode') - - def _get_element_attribute(self, element, attribute: str): - return element.get(attribute) - -class JsonXPathExtractionStrategy(JsonElementExtractionStrategy): - """ - Concrete implementation of `JsonElementExtractionStrategy` using XPath selectors. - - How it works: - 1. Parses HTML content into an lxml tree. - 2. Selects elements using XPath expressions. - 3. Converts CSS selectors to XPath when needed. - - Attributes: - schema (Dict[str, Any]): The schema defining the extraction rules. - verbose (bool): Enables verbose logging for debugging purposes. - - Methods: - _parse_html(html_content): Parses HTML content into an lxml tree. - _get_base_elements(parsed_html, selector): Selects base elements using an XPath selector. - _css_to_xpath(css_selector): Converts a CSS selector to an XPath expression. - _get_elements(element, selector): Selects child elements using an XPath selector. - _get_element_text(element): Extracts text content from an lxml element. - _get_element_html(element): Extracts the raw HTML content of an lxml element. - _get_element_attribute(element, attribute): Retrieves an attribute value from an lxml element. - """ - - def __init__(self, schema: Dict[str, Any], **kwargs): - kwargs["input_format"] = "html" # Force HTML input - super().__init__(schema, **kwargs) - - def _parse_html(self, html_content: str): - return html.fromstring(html_content) - - def _get_base_elements(self, parsed_html, selector: str): - return parsed_html.xpath(selector) - - def _css_to_xpath(self, css_selector: str) -> str: - """Convert CSS selector to XPath if needed""" - if "/" in css_selector: # Already an XPath - return css_selector - return self._basic_css_to_xpath(css_selector) - - def _basic_css_to_xpath(self, css_selector: str) -> str: - """Basic CSS to XPath conversion for common cases""" - if " > " in css_selector: - parts = css_selector.split(" > ") - return "//" + "/".join(parts) - if " " in css_selector: - parts = css_selector.split(" ") - return "//" + "//".join(parts) - return "//" + css_selector - - def _get_elements(self, element, selector: str): - xpath = self._css_to_xpath(selector) - if not xpath.startswith("."): - xpath = "." + xpath - return element.xpath(xpath) - - def _get_element_text(self, element) -> str: - return "".join(element.xpath(".//text()")).strip() - - def _get_element_html(self, element) -> str: - return etree.tostring(element, encoding="unicode") - - def _get_element_attribute(self, element, attribute: str): - return element.get(attribute) - -""" -RegexExtractionStrategy -Fast, zero-LLM extraction of common entities via regular expressions. -""" - -_CTRL = {c: rf"\x{ord(c):02x}" for c in map(chr, range(32)) if c not in "\t\n\r"} - -_WB_FIX = re.compile(r"\x08") # stray back-space → word-boundary -_NEEDS_ESCAPE = re.compile(r"(? Dict[str, str]: - """Fix common JSON-escape goofs coming from LLMs or manual edits.""" - safe = {} - for label, pat in schema.items(): - # 1️⃣ replace accidental control chars (inc. the infamous back-space) - pat = _WB_FIX.sub(r"\\b", pat).translate(_CTRL) - - # 2️⃣ double any single backslash that JSON kept single - pat = _NEEDS_ESCAPE.sub(r"\\\\", pat) - - # 3️⃣ quick sanity compile - try: - re.compile(pat) - except re.error as e: - raise ValueError(f"Regex for '{label}' won’t compile after fix: {e}") from None - - safe[label] = pat - return safe - - -class RegexExtractionStrategy(ExtractionStrategy): - """ - A lean strategy that finds e-mails, phones, URLs, dates, money, etc., - using nothing but pre-compiled regular expressions. - - Extraction returns:: - - { - "url": "", - "label": "", - "value": "", - "span": [start, end] - } - - Only `generate_schema()` touches an LLM, extraction itself is pure Python. - """ - - # -------------------------------------------------------------- # - # Built-in patterns exposed as IntFlag so callers can bit-OR them - # -------------------------------------------------------------- # - class _B(IntFlag): - EMAIL = auto() - PHONE_INTL = auto() - PHONE_US = auto() - URL = auto() - IPV4 = auto() - IPV6 = auto() - UUID = auto() - CURRENCY = auto() - PERCENTAGE = auto() - NUMBER = auto() - DATE_ISO = auto() - DATE_US = auto() - TIME_24H = auto() - POSTAL_US = auto() - POSTAL_UK = auto() - HTML_COLOR_HEX = auto() - TWITTER_HANDLE = auto() - HASHTAG = auto() - MAC_ADDR = auto() - IBAN = auto() - CREDIT_CARD = auto() - NOTHING = auto() - ALL = ( - EMAIL | PHONE_INTL | PHONE_US | URL | IPV4 | IPV6 | UUID - | CURRENCY | PERCENTAGE | NUMBER | DATE_ISO | DATE_US | TIME_24H - | POSTAL_US | POSTAL_UK | HTML_COLOR_HEX | TWITTER_HANDLE - | HASHTAG | MAC_ADDR | IBAN | CREDIT_CARD - ) - - # user-friendly aliases (RegexExtractionStrategy.Email, .IPv4, …) - Email = _B.EMAIL - PhoneIntl = _B.PHONE_INTL - PhoneUS = _B.PHONE_US - Url = _B.URL - IPv4 = _B.IPV4 - IPv6 = _B.IPV6 - Uuid = _B.UUID - Currency = _B.CURRENCY - Percentage = _B.PERCENTAGE - Number = _B.NUMBER - DateIso = _B.DATE_ISO - DateUS = _B.DATE_US - Time24h = _B.TIME_24H - PostalUS = _B.POSTAL_US - PostalUK = _B.POSTAL_UK - HexColor = _B.HTML_COLOR_HEX - TwitterHandle = _B.TWITTER_HANDLE - Hashtag = _B.HASHTAG - MacAddr = _B.MAC_ADDR - Iban = _B.IBAN - CreditCard = _B.CREDIT_CARD - All = _B.ALL - Nothing = _B(0) # no patterns - - # ------------------------------------------------------------------ # - # Built-in pattern catalog - # ------------------------------------------------------------------ # - DEFAULT_PATTERNS: Dict[str, str] = { - # Communication - "email": r"[\w.+-]+@[\w-]+\.[\w.-]+", - "phone_intl": r"\+?\d[\d .()-]{7,}\d", - "phone_us": r"\(?\d{3}\)?[ -. ]?\d{3}[ -. ]?\d{4}", - # Web - "url": r"https?://[^\s\"'<>]+", - "ipv4": r"(?:\d{1,3}\.){3}\d{1,3}", - "ipv6": r"[A-F0-9]{1,4}(?::[A-F0-9]{1,4}){7}", - # IDs - "uuid": r"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}", - # Money / numbers - "currency": r"(?:USD|EUR|RM|\$|€|£)\s?\d+(?:[.,]\d{2})?", - "percentage": r"\d+(?:\.\d+)?%", - "number": r"\b\d{1,3}(?:[,.\s]\d{3})*(?:\.\d+)?\b", - # Dates / Times - "date_iso": r"\d{4}-\d{2}-\d{2}", - "date_us": r"\d{1,2}/\d{1,2}/\d{2,4}", - "time_24h": r"\b(?:[01]?\d|2[0-3]):[0-5]\d(?:[:.][0-5]\d)?\b", - # Misc - "postal_us": r"\b\d{5}(?:-\d{4})?\b", - "postal_uk": r"\b[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}\b", - "html_color_hex": r"#[0-9A-Fa-f]{6}\b", - "twitter_handle": r"@[\w]{1,15}", - "hashtag": r"#[\w-]+", - "mac_addr": r"(?:[0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}", - "iban": r"[A-Z]{2}\d{2}[A-Z0-9]{11,30}", - "credit_card": r"\b(?:4\d{12}(?:\d{3})?|5[1-5]\d{14}|3[47]\d{13}|6(?:011|5\d{2})\d{12})\b", - } - - _FLAGS = re.IGNORECASE | re.MULTILINE - _UNWANTED_PROPS = { - "provider": "Use llm_config instead", - "api_token": "Use llm_config instead", - } - - # ------------------------------------------------------------------ # - # Construction - # ------------------------------------------------------------------ # - def __init__( - self, - pattern: "_B" = _B.NOTHING, - *, - custom: Optional[Union[Dict[str, str], List[Tuple[str, str]]]] = None, - input_format: str = "fit_html", - **kwargs, - ) -> None: - """ - Args: - patterns: Custom patterns overriding or extending defaults. - Dict[label, regex] or list[tuple(label, regex)]. - input_format: "html", "markdown" or "text". - **kwargs: Forwarded to ExtractionStrategy. - """ - super().__init__(input_format=input_format, **kwargs) - - # 1️⃣ take only the requested built-ins - merged: Dict[str, str] = { - key: rx - for key, rx in self.DEFAULT_PATTERNS.items() - if getattr(self._B, key.upper()).value & pattern - } - - # 2️⃣ apply user overrides / additions - if custom: - if isinstance(custom, dict): - merged.update(custom) - else: # iterable of (label, regex) - merged.update({lbl: rx for lbl, rx in custom}) - - self._compiled: Dict[str, Pattern] = { - lbl: re.compile(rx, self._FLAGS) for lbl, rx in merged.items() - } - - # ------------------------------------------------------------------ # - # Extraction - # ------------------------------------------------------------------ # - def extract(self, url: str, content: str, *q, **kw) -> List[Dict[str, Any]]: - # text = self._plain_text(html) - out: List[Dict[str, Any]] = [] - - for label, cre in self._compiled.items(): - for m in cre.finditer(content): - out.append( - { - "url": url, - "label": label, - "value": m.group(0), - "span": [m.start(), m.end()], - } - ) - return out - - # ------------------------------------------------------------------ # - # Helpers - # ------------------------------------------------------------------ # - def _plain_text(self, content: str) -> str: - if self.input_format == "text": - return content - return BeautifulSoup(content, "lxml").get_text(" ", strip=True) - - # ------------------------------------------------------------------ # - # LLM-assisted pattern generator - # ------------------------------------------------------------------ # - # ------------------------------------------------------------------ # - # LLM-assisted one-off pattern builder - # ------------------------------------------------------------------ # - @staticmethod - def generate_pattern( - label: str, - html: str, - *, - query: Optional[str] = None, - examples: Optional[List[str]] = None, - llm_config: Optional[LLMConfig] = None, - **kwargs, - ) -> Dict[str, str]: - """ - Ask an LLM for a single page-specific regex and return - {label: pattern} ── ready for RegexExtractionStrategy(custom=…) - """ - - # ── guard deprecated kwargs - for k in RegexExtractionStrategy._UNWANTED_PROPS: - if k in kwargs: - raise AttributeError( - f"{k} is deprecated, {RegexExtractionStrategy._UNWANTED_PROPS[k]}" - ) - - # ── default LLM config - if llm_config is None: - llm_config = create_llm_config() - - # ── system prompt – hardened - system_msg = ( - "You are an expert Python-regex engineer.\n" - f"Return **one** JSON object whose single key is exactly \"{label}\", " - "and whose value is a raw-string regex pattern that works with " - "the standard `re` module in Python.\n\n" - "Strict rules (obey every bullet):\n" - "• If a *user query* is supplied, treat it as the precise semantic target and optimise the " - " pattern to capture ONLY text that answers that query. If the query conflicts with the " - " sample HTML, the HTML wins.\n" - "• Tailor the pattern to the *sample HTML* – reproduce its exact punctuation, spacing, " - " symbols, capitalisation, etc. Do **NOT** invent a generic form.\n" - "• Keep it minimal and fast: avoid unnecessary capturing, prefer non-capturing `(?: … )`, " - " and guard against catastrophic backtracking.\n" - "• Anchor with `^`, `$`, or `\\b` only when it genuinely improves precision.\n" - "• Use inline flags like `(?i)` when needed; no verbose flag comments.\n" - "• Output must be valid JSON – no markdown, code fences, comments, or extra keys.\n" - "• The regex value must be a Python string literal: **double every backslash** " - "(e.g. `\\\\b`, `\\\\d`, `\\\\\\\\`).\n\n" - "Example valid output:\n" - f"{{\"{label}\": \"(?:RM|rm)\\\\s?\\\\d{{1,3}}(?:,\\\\d{{3}})*(?:\\\\.\\\\d{{2}})?\"}}" - ) - - # ── user message: cropped HTML + optional hints - user_parts = ["```html", html[:5000], "```"] # protect token budget - if query: - user_parts.append(f"\n\n## Query\n{query.strip()}") - if examples: - user_parts.append("## Examples\n" + "\n".join(examples[:20])) - user_msg = "\n\n".join(user_parts) - - # ── LLM call (with retry/backoff) - resp = perform_completion_with_backoff( - provider=llm_config.provider, - prompt_with_variables="\n\n".join([system_msg, user_msg]), - json_response=True, - api_token=llm_config.api_token, - base_url=llm_config.base_url, - extra_args=kwargs, - ) - - # ── clean & load JSON (fix common escape mistakes *before* json.loads) - raw = resp.choices[0].message.content - raw = raw.replace("\x08", "\\b") # stray back-space → \b - raw = re.sub(r'(? str: - """Fast URL joining for common cases.""" - if url.startswith(("http://", "https://", "mailto:", "//")): - return url - if url.startswith("/"): - # Handle absolute paths - if base.endswith("/"): - return base[:-1] + url - return base + url - return urljoin(base, url) - - -class MarkdownGenerationStrategy(ABC): - """Abstract base class for markdown generation strategies.""" - - def __init__( - self, - content_filter: Optional[RelevantContentFilter] = None, - options: Optional[Dict[str, Any]] = None, - verbose: bool = False, - content_source: str = "cleaned_html", - ): - self.content_filter = content_filter - self.options = options or {} - self.verbose = verbose - self.content_source = content_source - - @abstractmethod - def generate_markdown( - self, - input_html: str, - base_url: str = "", - html2text_options: Optional[Dict[str, Any]] = None, - content_filter: Optional[RelevantContentFilter] = None, - citations: bool = True, - **kwargs, - ) -> MarkdownGenerationResult: - """Generate markdown from the selected input HTML.""" - pass - - -class DefaultMarkdownGenerator(MarkdownGenerationStrategy): - """ - Default implementation of markdown generation strategy. - - How it works: - 1. Generate raw markdown from cleaned HTML. - 2. Convert links to citations. - 3. Generate fit markdown if content filter is provided. - 4. Return MarkdownGenerationResult. - - Args: - content_filter (Optional[RelevantContentFilter]): Content filter for generating fit markdown. - options (Optional[Dict[str, Any]]): Additional options for markdown generation. Defaults to None. - content_source (str): Source of content to generate markdown from. Options: "cleaned_html", "raw_html", "fit_html". Defaults to "cleaned_html". - - Returns: - MarkdownGenerationResult: Result containing raw markdown, fit markdown, fit HTML, and references markdown. - """ - - def __init__( - self, - content_filter: Optional[RelevantContentFilter] = None, - options: Optional[Dict[str, Any]] = None, - content_source: str = "cleaned_html", - ): - super().__init__(content_filter, options, verbose=False, content_source=content_source) - - def convert_links_to_citations( - self, markdown: str, base_url: str = "" - ) -> Tuple[str, str]: - """ - Convert links in markdown to citations. - - How it works: - 1. Find all links in the markdown. - 2. Convert links to citations. - 3. Return converted markdown and references markdown. - - Note: - This function uses a regex pattern to find links in markdown. - - Args: - markdown (str): Markdown text. - base_url (str): Base URL for URL joins. - - Returns: - Tuple[str, str]: Converted markdown and references markdown. - """ - link_map = {} - url_cache = {} # Cache for URL joins - parts = [] - last_end = 0 - counter = 1 - - for match in LINK_PATTERN.finditer(markdown): - parts.append(markdown[last_end : match.start()]) - text, url, title = match.groups() - - # Use cached URL if available, otherwise compute and cache - if base_url and not url.startswith(("http://", "https://", "mailto:")): - if url not in url_cache: - url_cache[url] = fast_urljoin(base_url, url) - url = url_cache[url] - - if url not in link_map: - desc = [] - if title: - desc.append(title) - if text and text != title: - desc.append(text) - link_map[url] = (counter, ": " + " - ".join(desc) if desc else "") - counter += 1 - - num = link_map[url][0] - parts.append( - f"{text}⟨{num}⟩" - if not match.group(0).startswith("!") - else f"![{text}⟨{num}⟩]" - ) - last_end = match.end() - - parts.append(markdown[last_end:]) - converted_text = "".join(parts) - - # Pre-build reference strings - references = ["\n\n## References\n\n"] - references.extend( - f"⟨{num}⟩ {url}{desc}\n" - for url, (num, desc) in sorted(link_map.items(), key=lambda x: x[1][0]) - ) - - return converted_text, "".join(references) - - def generate_markdown( - self, - input_html: str, - base_url: str = "", - html2text_options: Optional[Dict[str, Any]] = None, - options: Optional[Dict[str, Any]] = None, - content_filter: Optional[RelevantContentFilter] = None, - citations: bool = True, - **kwargs, - ) -> MarkdownGenerationResult: - """ - Generate markdown with citations from the provided input HTML. - - How it works: - 1. Generate raw markdown from the input HTML. - 2. Convert links to citations. - 3. Generate fit markdown if content filter is provided. - 4. Return MarkdownGenerationResult. - - Args: - input_html (str): The HTML content to process (selected based on content_source). - base_url (str): Base URL for URL joins. - html2text_options (Optional[Dict[str, Any]]): HTML2Text options. - options (Optional[Dict[str, Any]]): Additional options for markdown generation. - content_filter (Optional[RelevantContentFilter]): Content filter for generating fit markdown. - citations (bool): Whether to generate citations. - - Returns: - MarkdownGenerationResult: Result containing raw markdown, fit markdown, fit HTML, and references markdown. - """ - try: - # Initialize HTML2Text with default options for better conversion - h = CustomHTML2Text(baseurl=base_url) - default_options = { - "body_width": 0, # Disable text wrapping - "ignore_emphasis": False, - "ignore_links": False, - "ignore_images": False, - "protect_links": False, - "single_line_break": True, - "mark_code": True, - "escape_snob": False, - } - - # Update with custom options if provided - if html2text_options: - default_options.update(html2text_options) - elif options: - default_options.update(options) - elif self.options: - default_options.update(self.options) - - h.update_params(**default_options) - - # Ensure we have valid input - if not input_html: - input_html = "" - elif not isinstance(input_html, str): - input_html = str(input_html) - - # Generate raw markdown - try: - raw_markdown = h.handle(input_html) - except Exception as e: - raw_markdown = f"Error converting HTML to markdown: {str(e)}" - - raw_markdown = raw_markdown.replace(" ```", "```") - - # Convert links to citations - markdown_with_citations: str = raw_markdown - references_markdown: str = "" - if citations: - try: - ( - markdown_with_citations, - references_markdown, - ) = self.convert_links_to_citations(raw_markdown, base_url) - except Exception as e: - markdown_with_citations = raw_markdown - references_markdown = f"Error generating citations: {str(e)}" - - # Generate fit markdown if content filter is provided - fit_markdown: Optional[str] = "" - filtered_html: Optional[str] = "" - if content_filter or self.content_filter: - try: - content_filter = content_filter or self.content_filter - filtered_html = content_filter.filter_content(input_html) - filtered_html = "\n".join( - "
{}
".format(s) for s in filtered_html - ) - fit_markdown = h.handle(filtered_html) - except Exception as e: - fit_markdown = f"Error generating fit markdown: {str(e)}" - filtered_html = "" - - return MarkdownGenerationResult( - raw_markdown=raw_markdown or "", - markdown_with_citations=markdown_with_citations or "", - references_markdown=references_markdown or "", - fit_markdown=fit_markdown or "", - fit_html=filtered_html or "", - ) - except Exception as e: - # If anything fails, return empty strings with error message - error_msg = f"Error in markdown generation: {str(e)}" - return MarkdownGenerationResult( - raw_markdown=error_msg, - markdown_with_citations=error_msg, - references_markdown="", - fit_markdown="", - fit_html="", - ) - -``` - - -## File: crawl4ai/models.py - -```py -from pydantic import BaseModel, HttpUrl, PrivateAttr, Field -from typing import List, Dict, Optional, Callable, Awaitable, Union, Any -from typing import AsyncGenerator -from typing import Generic, TypeVar -from enum import Enum -from dataclasses import dataclass -from .ssl_certificate import SSLCertificate -from datetime import datetime -from datetime import timedelta - - -############################### -# Dispatcher Models -############################### -@dataclass -class DomainState: - last_request_time: float = 0 - current_delay: float = 0 - fail_count: int = 0 - - -@dataclass -class CrawlerTaskResult: - task_id: str - url: str - result: "CrawlResult" - memory_usage: float - peak_memory: float - start_time: Union[datetime, float] - end_time: Union[datetime, float] - error_message: str = "" - retry_count: int = 0 - wait_time: float = 0.0 - - @property - def success(self) -> bool: - return self.result.success - -class CrawlStatus(Enum): - QUEUED = "QUEUED" - IN_PROGRESS = "IN_PROGRESS" - COMPLETED = "COMPLETED" - FAILED = "FAILED" - -@dataclass -class CrawlStats: - task_id: str - url: str - status: CrawlStatus - start_time: Optional[Union[datetime, float]] = None - end_time: Optional[Union[datetime, float]] = None - memory_usage: float = 0.0 - peak_memory: float = 0.0 - error_message: str = "" - wait_time: float = 0.0 - retry_count: int = 0 - counted_requeue: bool = False - - @property - def duration(self) -> str: - if not self.start_time: - return "0:00" - - # Convert start_time to datetime if it's a float - start = self.start_time - if isinstance(start, float): - start = datetime.fromtimestamp(start) - - # Get end time or use current time - end = self.end_time or datetime.now() - # Convert end_time to datetime if it's a float - if isinstance(end, float): - end = datetime.fromtimestamp(end) - - duration = end - start - return str(timedelta(seconds=int(duration.total_seconds()))) - -class DisplayMode(Enum): - DETAILED = "DETAILED" - AGGREGATED = "AGGREGATED" - - -############################### -# Crawler Models -############################### -@dataclass -class TokenUsage: - completion_tokens: int = 0 - prompt_tokens: int = 0 - total_tokens: int = 0 - completion_tokens_details: Optional[dict] = None - prompt_tokens_details: Optional[dict] = None - -class UrlModel(BaseModel): - url: HttpUrl - forced: bool = False - - - -@dataclass -class TraversalStats: - """Statistics for the traversal process""" - - start_time: datetime = datetime.now() - urls_processed: int = 0 - urls_failed: int = 0 - urls_skipped: int = 0 - total_depth_reached: int = 0 - current_depth: int = 0 - -class DispatchResult(BaseModel): - task_id: str - memory_usage: float - peak_memory: float - start_time: Union[datetime, float] - end_time: Union[datetime, float] - error_message: str = "" - -class MarkdownGenerationResult(BaseModel): - raw_markdown: str - markdown_with_citations: str - references_markdown: str - fit_markdown: Optional[str] = None - fit_html: Optional[str] = None - - def __str__(self): - return self.raw_markdown - -class CrawlResult(BaseModel): - url: str - html: str - fit_html: Optional[str] = None - success: bool - cleaned_html: Optional[str] = None - media: Dict[str, List[Dict]] = {} - links: Dict[str, List[Dict]] = {} - downloaded_files: Optional[List[str]] = None - js_execution_result: Optional[Dict[str, Any]] = None - screenshot: Optional[str] = None - pdf: Optional[bytes] = None - mhtml: Optional[str] = None - _markdown: Optional[MarkdownGenerationResult] = PrivateAttr(default=None) - extracted_content: Optional[str] = None - metadata: Optional[dict] = None - error_message: Optional[str] = None - session_id: Optional[str] = None - response_headers: Optional[dict] = None - status_code: Optional[int] = None - ssl_certificate: Optional[SSLCertificate] = None - dispatch_result: Optional[DispatchResult] = None - redirected_url: Optional[str] = None - network_requests: Optional[List[Dict[str, Any]]] = None - console_messages: Optional[List[Dict[str, Any]]] = None - tables: List[Dict] = Field(default_factory=list) # NEW – [{headers,rows,caption,summary}] - - class Config: - arbitrary_types_allowed = True - -# NOTE: The StringCompatibleMarkdown class, custom __init__ method, property getters/setters, -# and model_dump override all exist to support a smooth transition from markdown as a string -# to markdown as a MarkdownGenerationResult object, while maintaining backward compatibility. -# -# This allows code that expects markdown to be a string to continue working, while also -# providing access to the full MarkdownGenerationResult object's properties. -# -# The markdown_v2 property is deprecated and raises an error directing users to use markdown. -# -# When backward compatibility is no longer needed in future versions, this entire mechanism -# can be simplified to a standard field with no custom accessors or serialization logic. - - def __init__(self, **data): - markdown_result = data.pop('markdown', None) - super().__init__(**data) - if markdown_result is not None: - self._markdown = ( - MarkdownGenerationResult(**markdown_result) - if isinstance(markdown_result, dict) - else markdown_result - ) - - @property - def markdown(self): - """ - Property that returns a StringCompatibleMarkdown object that behaves like - a string but also provides access to MarkdownGenerationResult attributes. - - This approach allows backward compatibility with code that expects 'markdown' - to be a string, while providing access to the full MarkdownGenerationResult. - """ - if self._markdown is None: - return None - return StringCompatibleMarkdown(self._markdown) - - @markdown.setter - def markdown(self, value): - """ - Setter for the markdown property. - """ - self._markdown = value - - @property - def markdown_v2(self): - """ - Deprecated property that raises an AttributeError when accessed. - - This property exists to inform users that 'markdown_v2' has been - deprecated and they should use 'markdown' instead. - """ - raise AttributeError( - "The 'markdown_v2' attribute is deprecated and has been removed. " - """Please use 'markdown' instead, which now returns a MarkdownGenerationResult, with - following properties: - - raw_markdown: The raw markdown string - - markdown_with_citations: The markdown string with citations - - references_markdown: The markdown string with references - - fit_markdown: The markdown string with fit text - """ - ) - - @property - def fit_markdown(self): - """ - Deprecated property that raises an AttributeError when accessed. - """ - raise AttributeError( - "The 'fit_markdown' attribute is deprecated and has been removed. " - "Please use 'markdown.fit_markdown' instead." - ) - - @property - def fit_html(self): - """ - Deprecated property that raises an AttributeError when accessed. - """ - raise AttributeError( - "The 'fit_html' attribute is deprecated and has been removed. " - "Please use 'markdown.fit_html' instead." - ) - - def model_dump(self, *args, **kwargs): - """ - Override model_dump to include the _markdown private attribute in serialization. - - This override is necessary because: - 1. PrivateAttr fields are excluded from serialization by default - 2. We need to maintain backward compatibility by including the 'markdown' field - in the serialized output - 3. We're transitioning from 'markdown_v2' to enhancing 'markdown' to hold - the same type of data - - Future developers: This method ensures that the markdown content is properly - serialized despite being stored in a private attribute. If the serialization - requirements change, this is where you would update the logic. - """ - result = super().model_dump(*args, **kwargs) - if self._markdown is not None: - result["markdown"] = self._markdown.model_dump() - return result - -class StringCompatibleMarkdown(str): - """A string subclass that also provides access to MarkdownGenerationResult attributes""" - def __new__(cls, markdown_result): - return super().__new__(cls, markdown_result.raw_markdown) - - def __init__(self, markdown_result): - self._markdown_result = markdown_result - - def __getattr__(self, name): - return getattr(self._markdown_result, name) - -CrawlResultT = TypeVar('CrawlResultT', bound=CrawlResult) - -class CrawlResultContainer(Generic[CrawlResultT]): - def __init__(self, results: Union[CrawlResultT, List[CrawlResultT]]): - # Normalize to a list - if isinstance(results, list): - self._results = results - else: - self._results = [results] - - def __iter__(self): - return iter(self._results) - - def __getitem__(self, index): - return self._results[index] - - def __len__(self): - return len(self._results) - - def __getattr__(self, attr): - # Delegate attribute access to the first element. - if self._results: - return getattr(self._results[0], attr) - raise AttributeError(f"{self.__class__.__name__} object has no attribute '{attr}'") - - def __repr__(self): - return f"{self.__class__.__name__}({self._results!r})" - -RunManyReturn = Union[ - CrawlResultContainer[CrawlResultT], - AsyncGenerator[CrawlResultT, None] -] - - -# END of backward compatibility code for markdown/markdown_v2. -# When removing this code in the future, make sure to: -# 1. Replace the private attribute and property with a standard field -# 2. Update any serialization logic that might depend on the current behavior - -class AsyncCrawlResponse(BaseModel): - html: str - response_headers: Dict[str, str] - js_execution_result: Optional[Dict[str, Any]] = None - status_code: int - screenshot: Optional[str] = None - pdf_data: Optional[bytes] = None - mhtml_data: Optional[str] = None - get_delayed_content: Optional[Callable[[Optional[float]], Awaitable[str]]] = None - downloaded_files: Optional[List[str]] = None - ssl_certificate: Optional[SSLCertificate] = None - redirected_url: Optional[str] = None - network_requests: Optional[List[Dict[str, Any]]] = None - console_messages: Optional[List[Dict[str, Any]]] = None - - class Config: - arbitrary_types_allowed = True - -############################### -# Scraping Models -############################### -class MediaItem(BaseModel): - src: Optional[str] = "" - data: Optional[str] = "" - alt: Optional[str] = "" - desc: Optional[str] = "" - score: Optional[int] = 0 - type: str = "image" - group_id: Optional[int] = 0 - format: Optional[str] = None - width: Optional[int] = None - - -class Link(BaseModel): - href: Optional[str] = "" - text: Optional[str] = "" - title: Optional[str] = "" - base_domain: Optional[str] = "" - - -class Media(BaseModel): - images: List[MediaItem] = [] - videos: List[ - MediaItem - ] = [] # Using MediaItem model for now, can be extended with Video model if needed - audios: List[ - MediaItem - ] = [] # Using MediaItem model for now, can be extended with Audio model if needed - tables: List[Dict] = [] # Table data extracted from HTML tables - - -class Links(BaseModel): - internal: List[Link] = [] - external: List[Link] = [] - - -class ScrapingResult(BaseModel): - cleaned_html: str - success: bool - media: Media = Media() - links: Links = Links() - metadata: Dict[str, Any] = {} - -``` - - -## File: crawl4ai/proxy_strategy.py - -```py -from typing import List, Dict, Optional -from abc import ABC, abstractmethod -from itertools import cycle -import os - - -########### ATTENTION PEOPLE OF EARTH ########### -# I have moved this config to async_configs.py, kept it here, in case someone still importing it, however -# be a dear and follow `from crawl4ai import ProxyConfig` instead :) -class ProxyConfig: - def __init__( - self, - server: str, - username: Optional[str] = None, - password: Optional[str] = None, - ip: Optional[str] = None, - ): - """Configuration class for a single proxy. - - Args: - server: Proxy server URL (e.g., "http://127.0.0.1:8080") - username: Optional username for proxy authentication - password: Optional password for proxy authentication - ip: Optional IP address for verification purposes - """ - self.server = server - self.username = username - self.password = password - - # Extract IP from server if not explicitly provided - self.ip = ip or self._extract_ip_from_server() - - def _extract_ip_from_server(self) -> Optional[str]: - """Extract IP address from server URL.""" - try: - # Simple extraction assuming http://ip:port format - if "://" in self.server: - parts = self.server.split("://")[1].split(":") - return parts[0] - else: - parts = self.server.split(":") - return parts[0] - except Exception: - return None - - @staticmethod - def from_string(proxy_str: str) -> "ProxyConfig": - """Create a ProxyConfig from a string in the format 'ip:port:username:password'.""" - parts = proxy_str.split(":") - if len(parts) == 4: # ip:port:username:password - ip, port, username, password = parts - return ProxyConfig( - server=f"http://{ip}:{port}", - username=username, - password=password, - ip=ip - ) - elif len(parts) == 2: # ip:port only - ip, port = parts - return ProxyConfig( - server=f"http://{ip}:{port}", - ip=ip - ) - else: - raise ValueError(f"Invalid proxy string format: {proxy_str}") - - @staticmethod - def from_dict(proxy_dict: Dict) -> "ProxyConfig": - """Create a ProxyConfig from a dictionary.""" - return ProxyConfig( - server=proxy_dict.get("server"), - username=proxy_dict.get("username"), - password=proxy_dict.get("password"), - ip=proxy_dict.get("ip") - ) - - @staticmethod - def from_env(env_var: str = "PROXIES") -> List["ProxyConfig"]: - """Load proxies from environment variable. - - Args: - env_var: Name of environment variable containing comma-separated proxy strings - - Returns: - List of ProxyConfig objects - """ - proxies = [] - try: - proxy_list = os.getenv(env_var, "").split(",") - for proxy in proxy_list: - if not proxy: - continue - proxies.append(ProxyConfig.from_string(proxy)) - except Exception as e: - print(f"Error loading proxies from environment: {e}") - return proxies - - def to_dict(self) -> Dict: - """Convert to dictionary representation.""" - return { - "server": self.server, - "username": self.username, - "password": self.password, - "ip": self.ip - } - - def clone(self, **kwargs) -> "ProxyConfig": - """Create a copy of this configuration with updated values. - - Args: - **kwargs: Key-value pairs of configuration options to update - - Returns: - ProxyConfig: A new instance with the specified updates - """ - config_dict = self.to_dict() - config_dict.update(kwargs) - return ProxyConfig.from_dict(config_dict) - - -class ProxyRotationStrategy(ABC): - """Base abstract class for proxy rotation strategies""" - - @abstractmethod - async def get_next_proxy(self) -> Optional[ProxyConfig]: - """Get next proxy configuration from the strategy""" - pass - - @abstractmethod - def add_proxies(self, proxies: List[ProxyConfig]): - """Add proxy configurations to the strategy""" - pass - -class RoundRobinProxyStrategy: - """Simple round-robin proxy rotation strategy using ProxyConfig objects""" - - def __init__(self, proxies: List[ProxyConfig] = None): - """ - Initialize with optional list of proxy configurations - - Args: - proxies: List of ProxyConfig objects - """ - self._proxies = [] - self._proxy_cycle = None - if proxies: - self.add_proxies(proxies) - - def add_proxies(self, proxies: List[ProxyConfig]): - """Add new proxies to the rotation pool""" - self._proxies.extend(proxies) - self._proxy_cycle = cycle(self._proxies) - - async def get_next_proxy(self) -> Optional[ProxyConfig]: - """Get next proxy in round-robin fashion""" - if not self._proxy_cycle: - return None - return next(self._proxy_cycle) - -``` - - -## File: crawl4ai/ssl_certificate.py - -```py -"""SSL Certificate class for handling certificate operations.""" - -import ssl -import socket -import base64 -import json -from typing import Dict, Any, Optional -from urllib.parse import urlparse -import OpenSSL.crypto -from pathlib import Path - -# === Inherit from dict === -class SSLCertificate(dict): - """ - A class representing an SSL certificate, behaving like a dictionary - for direct JSON serialization. It stores the certificate information internally - and provides methods for export and property access. - - Inherits from dict, so instances are directly JSON serializable. - """ - - # Use __slots__ for potential memory optimization if desired, though less common when inheriting dict - # __slots__ = ("_cert_info",) # If using slots, be careful with dict inheritance interaction - - def __init__(self, cert_info: Dict[str, Any]): - """ - Initializes the SSLCertificate object. - - Args: - cert_info (Dict[str, Any]): The raw certificate dictionary. - """ - # 1. Decode the data (handle bytes -> str) - decoded_info = self._decode_cert_data(cert_info) - - # 2. Store the decoded info internally (optional but good practice) - # self._cert_info = decoded_info # You can keep this if methods rely on it - - # 3. Initialize the dictionary part of the object with the decoded data - super().__init__(decoded_info) - - @staticmethod - def _decode_cert_data(data: Any) -> Any: - """Helper method to decode bytes in certificate data.""" - if isinstance(data, bytes): - try: - # Try UTF-8 first, fallback to latin-1 for arbitrary bytes - return data.decode("utf-8") - except UnicodeDecodeError: - return data.decode("latin-1") # Or handle as needed, maybe hex representation - elif isinstance(data, dict): - return { - ( - k.decode("utf-8") if isinstance(k, bytes) else k - ): SSLCertificate._decode_cert_data(v) - for k, v in data.items() - } - elif isinstance(data, list): - return [SSLCertificate._decode_cert_data(item) for item in data] - return data - - @staticmethod - def from_url(url: str, timeout: int = 10) -> Optional["SSLCertificate"]: - """ - Create SSLCertificate instance from a URL. Fetches cert info and initializes. - (Fetching logic remains the same) - """ - cert_info_raw = None # Variable to hold the fetched dict - try: - hostname = urlparse(url).netloc - if ":" in hostname: - hostname = hostname.split(":")[0] - - context = ssl.create_default_context() - # Set check_hostname to False and verify_mode to CERT_NONE temporarily - # for potentially problematic certificates during fetch, but parse the result regardless. - # context.check_hostname = False - # context.verify_mode = ssl.CERT_NONE - - with socket.create_connection((hostname, 443), timeout=timeout) as sock: - with context.wrap_socket(sock, server_hostname=hostname) as ssock: - cert_binary = ssock.getpeercert(binary_form=True) - if not cert_binary: - print(f"Warning: No certificate returned for {hostname}") - return None - - x509 = OpenSSL.crypto.load_certificate( - OpenSSL.crypto.FILETYPE_ASN1, cert_binary - ) - - # Create the dictionary directly - cert_info_raw = { - "subject": dict(x509.get_subject().get_components()), - "issuer": dict(x509.get_issuer().get_components()), - "version": x509.get_version(), - "serial_number": hex(x509.get_serial_number()), - "not_before": x509.get_notBefore(), # Keep as bytes initially, _decode handles it - "not_after": x509.get_notAfter(), # Keep as bytes initially - "fingerprint": x509.digest("sha256").hex(), # hex() is already string - "signature_algorithm": x509.get_signature_algorithm(), # Keep as bytes - "raw_cert": base64.b64encode(cert_binary), # Base64 is bytes, _decode handles it - } - - # Add extensions - extensions = [] - for i in range(x509.get_extension_count()): - ext = x509.get_extension(i) - # get_short_name() returns bytes, str(ext) handles value conversion - extensions.append( - {"name": ext.get_short_name(), "value": str(ext)} - ) - cert_info_raw["extensions"] = extensions - - except ssl.SSLCertVerificationError as e: - print(f"SSL Verification Error for {url}: {e}") - # Decide if you want to proceed or return None based on your needs - # You might try fetching without verification here if needed, but be cautious. - return None - except socket.gaierror: - print(f"Could not resolve hostname: {hostname}") - return None - except socket.timeout: - print(f"Connection timed out for {url}") - return None - except Exception as e: - print(f"Error fetching/processing certificate for {url}: {e}") - # Log the full error details if needed: logging.exception("Cert fetch error") - return None - - # If successful, create the SSLCertificate instance from the dictionary - if cert_info_raw: - return SSLCertificate(cert_info_raw) - else: - return None - - - # --- Properties now access the dictionary items directly via self[] --- - @property - def issuer(self) -> Dict[str, str]: - return self.get("issuer", {}) # Use self.get for safety - - @property - def subject(self) -> Dict[str, str]: - return self.get("subject", {}) - - @property - def valid_from(self) -> str: - return self.get("not_before", "") - - @property - def valid_until(self) -> str: - return self.get("not_after", "") - - @property - def fingerprint(self) -> str: - return self.get("fingerprint", "") - - # --- Export methods can use `self` directly as it is the dict --- - def to_json(self, filepath: Optional[str] = None) -> Optional[str]: - """Export certificate as JSON.""" - # `self` is already the dictionary we want to serialize - json_str = json.dumps(self, indent=2, ensure_ascii=False) - if filepath: - Path(filepath).write_text(json_str, encoding="utf-8") - return None - return json_str - - def to_pem(self, filepath: Optional[str] = None) -> Optional[str]: - """Export certificate as PEM.""" - try: - # Decode the raw_cert (which should be string due to _decode) - raw_cert_bytes = base64.b64decode(self.get("raw_cert", "")) - x509 = OpenSSL.crypto.load_certificate( - OpenSSL.crypto.FILETYPE_ASN1, raw_cert_bytes - ) - pem_data = OpenSSL.crypto.dump_certificate( - OpenSSL.crypto.FILETYPE_PEM, x509 - ).decode("utf-8") - - if filepath: - Path(filepath).write_text(pem_data, encoding="utf-8") - return None - return pem_data - except Exception as e: - print(f"Error converting to PEM: {e}") - return None - - def to_der(self, filepath: Optional[str] = None) -> Optional[bytes]: - """Export certificate as DER.""" - try: - # Decode the raw_cert (which should be string due to _decode) - der_data = base64.b64decode(self.get("raw_cert", "")) - if filepath: - Path(filepath).write_bytes(der_data) - return None - return der_data - except Exception as e: - print(f"Error converting to DER: {e}") - return None - - # Optional: Add __repr__ for better debugging - def __repr__(self) -> str: - subject_cn = self.subject.get('CN', 'N/A') - issuer_cn = self.issuer.get('CN', 'N/A') - return f"" -``` - - -## File: crawl4ai/user_agent_generator.py - -```py -import random -from typing import Optional, Literal, List, Dict, Tuple -import re - -from abc import ABC, abstractmethod -from fake_useragent import UserAgent -import requests -from lxml import html -import json -from typing import Union - -class UAGen(ABC): - @abstractmethod - def generate(self, - browsers: Optional[List[str]] = None, - os: Optional[Union[str, List[str]]] = None, - min_version: float = 0.0, - platforms: Optional[Union[str, List[str]]] = None, - pct_threshold: Optional[float] = None, - fallback: str = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/116.0.0.0 Safari/537.36") -> Union[str, Dict]: - pass - - @staticmethod - def generate_client_hints( user_agent: str) -> str: - """Generate Sec-CH-UA header value based on user agent string""" - def _parse_user_agent(user_agent: str) -> Dict[str, str]: - """Parse a user agent string to extract browser and version information""" - browsers = { - "chrome": r"Chrome/(\d+)", - "edge": r"Edg/(\d+)", - "safari": r"Version/(\d+)", - "firefox": r"Firefox/(\d+)", - } - - result = {} - for browser, pattern in browsers.items(): - match = re.search(pattern, user_agent) - if match: - result[browser] = match.group(1) - - return result - browsers = _parse_user_agent(user_agent) - - # Client hints components - hints = [] - - # Handle different browser combinations - if "chrome" in browsers: - hints.append(f'"Chromium";v="{browsers["chrome"]}"') - hints.append('"Not_A Brand";v="8"') - - if "edge" in browsers: - hints.append(f'"Microsoft Edge";v="{browsers["edge"]}"') - else: - hints.append(f'"Google Chrome";v="{browsers["chrome"]}"') - - elif "firefox" in browsers: - # Firefox doesn't typically send Sec-CH-UA - return '""' - - elif "safari" in browsers: - # Safari's format for client hints - hints.append(f'"Safari";v="{browsers["safari"]}"') - hints.append('"Not_A Brand";v="8"') - - return ", ".join(hints) - -class ValidUAGenerator(UAGen): - def __init__(self): - self.ua = UserAgent() - - def generate(self, - browsers: Optional[List[str]] = None, - os: Optional[Union[str, List[str]]] = None, - min_version: float = 0.0, - platforms: Optional[Union[str, List[str]]] = None, - pct_threshold: Optional[float] = None, - fallback: str = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/116.0.0.0 Safari/537.36") -> str: - - self.ua = UserAgent( - browsers=browsers or ['Chrome', 'Firefox', 'Edge'], - os=os or ['Windows', 'Mac OS X'], - min_version=min_version, - platforms=platforms or ['desktop'], - fallback=fallback - ) - return self.ua.random - -class OnlineUAGenerator(UAGen): - def __init__(self): - self.agents = [] - self._fetch_agents() - - def _fetch_agents(self): - try: - response = requests.get( - 'https://www.useragents.me/', - timeout=5, - headers={'Accept': 'text/html,application/xhtml+xml'} - ) - response.raise_for_status() - - tree = html.fromstring(response.content) - json_text = tree.cssselect('#most-common-desktop-useragents-json-csv > div:nth-child(1) > textarea')[0].text - self.agents = json.loads(json_text) - except Exception as e: - print(f"Error fetching agents: {e}") - - def generate(self, - browsers: Optional[List[str]] = None, - os: Optional[Union[str, List[str]]] = None, - min_version: float = 0.0, - platforms: Optional[Union[str, List[str]]] = None, - pct_threshold: Optional[float] = None, - fallback: str = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/116.0.0.0 Safari/537.36") -> Dict: - - if not self.agents: - self._fetch_agents() - - filtered_agents = self.agents - - if pct_threshold: - filtered_agents = [a for a in filtered_agents if a['pct'] >= pct_threshold] - - if browsers: - filtered_agents = [a for a in filtered_agents - if any(b.lower() in a['ua'].lower() for b in browsers)] - - if os: - os_list = [os] if isinstance(os, str) else os - filtered_agents = [a for a in filtered_agents - if any(o.lower() in a['ua'].lower() for o in os_list)] - - if platforms: - platform_list = [platforms] if isinstance(platforms, str) else platforms - filtered_agents = [a for a in filtered_agents - if any(p.lower() in a['ua'].lower() for p in platform_list)] - - return filtered_agents[0] if filtered_agents else {'ua': fallback, 'pct': 0} - - - -class UserAgentGenerator(): - """ - Generate random user agents with specified constraints. - - Attributes: - desktop_platforms (dict): A dictionary of possible desktop platforms and their corresponding user agent strings. - mobile_platforms (dict): A dictionary of possible mobile platforms and their corresponding user agent strings. - browser_combinations (dict): A dictionary of possible browser combinations and their corresponding user agent strings. - rendering_engines (dict): A dictionary of possible rendering engines and their corresponding user agent strings. - chrome_versions (list): A list of possible Chrome browser versions. - firefox_versions (list): A list of possible Firefox browser versions. - edge_versions (list): A list of possible Edge browser versions. - safari_versions (list): A list of possible Safari browser versions. - ios_versions (list): A list of possible iOS browser versions. - android_versions (list): A list of possible Android browser versions. - - Methods: - generate_user_agent( - platform: Literal["desktop", "mobile"] = "desktop", - browser: str = "chrome", - rendering_engine: str = "chrome_webkit", - chrome_version: Optional[str] = None, - firefox_version: Optional[str] = None, - edge_version: Optional[str] = None, - safari_version: Optional[str] = None, - ios_version: Optional[str] = None, - android_version: Optional[str] = None - ): Generates a random user agent string based on the specified parameters. - """ - - def __init__(self): - # Previous platform definitions remain the same... - self.desktop_platforms = { - "windows": { - "10_64": "(Windows NT 10.0; Win64; x64)", - "10_32": "(Windows NT 10.0; WOW64)", - }, - "macos": { - "intel": "(Macintosh; Intel Mac OS X 10_15_7)", - "newer": "(Macintosh; Intel Mac OS X 10.15; rv:109.0)", - }, - "linux": { - "generic": "(X11; Linux x86_64)", - "ubuntu": "(X11; Ubuntu; Linux x86_64)", - "chrome_os": "(X11; CrOS x86_64 14541.0.0)", - }, - } - - self.mobile_platforms = { - "android": { - "samsung": "(Linux; Android 13; SM-S901B)", - "pixel": "(Linux; Android 12; Pixel 6)", - "oneplus": "(Linux; Android 13; OnePlus 9 Pro)", - "xiaomi": "(Linux; Android 12; M2102J20SG)", - }, - "ios": { - "iphone": "(iPhone; CPU iPhone OS 16_5 like Mac OS X)", - "ipad": "(iPad; CPU OS 16_5 like Mac OS X)", - }, - } - - # Browser Combinations - self.browser_combinations = { - 1: [["chrome"], ["firefox"], ["safari"], ["edge"]], - 2: [["gecko", "firefox"], ["chrome", "safari"], ["webkit", "safari"]], - 3: [["chrome", "safari", "edge"], ["webkit", "chrome", "safari"]], - } - - # Rendering Engines with versions - self.rendering_engines = { - "chrome_webkit": "AppleWebKit/537.36", - "safari_webkit": "AppleWebKit/605.1.15", - "gecko": [ # Added Gecko versions - "Gecko/20100101", - "Gecko/20100101", # Firefox usually uses this constant version - "Gecko/2010010", - ], - } - - # Browser Versions - self.chrome_versions = [ - "Chrome/119.0.6045.199", - "Chrome/118.0.5993.117", - "Chrome/117.0.5938.149", - "Chrome/116.0.5845.187", - "Chrome/115.0.5790.171", - ] - - self.edge_versions = [ - "Edg/119.0.2151.97", - "Edg/118.0.2088.76", - "Edg/117.0.2045.47", - "Edg/116.0.1938.81", - "Edg/115.0.1901.203", - ] - - self.safari_versions = [ - "Safari/537.36", # For Chrome-based - "Safari/605.1.15", - "Safari/604.1", - "Safari/602.1", - "Safari/601.5.17", - ] - - # Added Firefox versions - self.firefox_versions = [ - "Firefox/119.0", - "Firefox/118.0.2", - "Firefox/117.0.1", - "Firefox/116.0", - "Firefox/115.0.3", - "Firefox/114.0.2", - "Firefox/113.0.1", - "Firefox/112.0", - "Firefox/111.0.1", - "Firefox/110.0", - ] - - def get_browser_stack(self, num_browsers: int = 1) -> List[str]: - """ - Get a valid combination of browser versions. - - How it works: - 1. Check if the number of browsers is supported. - 2. Randomly choose a combination of browsers. - 3. Iterate through the combination and add browser versions. - 4. Return the browser stack. - - Args: - num_browsers: Number of browser specifications (1-3) - - Returns: - List[str]: A list of browser versions. - """ - if num_browsers not in self.browser_combinations: - raise ValueError(f"Unsupported number of browsers: {num_browsers}") - - combination = random.choice(self.browser_combinations[num_browsers]) - browser_stack = [] - - for browser in combination: - if browser == "chrome": - browser_stack.append(random.choice(self.chrome_versions)) - elif browser == "firefox": - browser_stack.append(random.choice(self.firefox_versions)) - elif browser == "safari": - browser_stack.append(random.choice(self.safari_versions)) - elif browser == "edge": - browser_stack.append(random.choice(self.edge_versions)) - elif browser == "gecko": - browser_stack.append(random.choice(self.rendering_engines["gecko"])) - elif browser == "webkit": - browser_stack.append(self.rendering_engines["chrome_webkit"]) - - return browser_stack - - def generate( - self, - device_type: Optional[Literal["desktop", "mobile"]] = None, - os_type: Optional[str] = None, - device_brand: Optional[str] = None, - browser_type: Optional[Literal["chrome", "edge", "safari", "firefox"]] = None, - num_browsers: int = 3, - ) -> str: - """ - Generate a random user agent with specified constraints. - - Args: - device_type: 'desktop' or 'mobile' - os_type: 'windows', 'macos', 'linux', 'android', 'ios' - device_brand: Specific device brand - browser_type: 'chrome', 'edge', 'safari', or 'firefox' - num_browsers: Number of browser specifications (1-3) - """ - # Get platform string - platform = self.get_random_platform(device_type, os_type, device_brand) - - # Start with Mozilla - components = ["Mozilla/5.0", platform] - - # Add browser stack - browser_stack = self.get_browser_stack(num_browsers) - - # Add appropriate legacy token based on browser stack - if "Firefox" in str(browser_stack) or browser_type == "firefox": - components.append(random.choice(self.rendering_engines["gecko"])) - elif "Chrome" in str(browser_stack) or "Safari" in str(browser_stack) or browser_type == "chrome": - components.append(self.rendering_engines["chrome_webkit"]) - components.append("(KHTML, like Gecko)") - elif "Edge" in str(browser_stack) or browser_type == "edge": - components.append(self.rendering_engines["safari_webkit"]) - components.append("(KHTML, like Gecko)") - elif "Safari" in str(browser_stack) or browser_type == "safari": - components.append(self.rendering_engines["chrome_webkit"]) - components.append("(KHTML, like Gecko)") - - # Add browser versions - components.extend(browser_stack) - - return " ".join(components) - - def generate_with_client_hints(self, **kwargs) -> Tuple[str, str]: - """Generate both user agent and matching client hints""" - user_agent = self.generate(**kwargs) - client_hints = self.generate_client_hints(user_agent) - return user_agent, client_hints - - def get_random_platform(self, device_type, os_type, device_brand): - """Helper method to get random platform based on constraints""" - platforms = ( - self.desktop_platforms - if device_type == "desktop" - else self.mobile_platforms - if device_type == "mobile" - else {**self.desktop_platforms, **self.mobile_platforms} - ) - - if os_type: - for platform_group in [self.desktop_platforms, self.mobile_platforms]: - if os_type in platform_group: - platforms = {os_type: platform_group[os_type]} - break - - os_key = random.choice(list(platforms.keys())) - if device_brand and device_brand in platforms[os_key]: - return platforms[os_key][device_brand] - return random.choice(list(platforms[os_key].values())) - - def parse_user_agent(self, user_agent: str) -> Dict[str, str]: - """Parse a user agent string to extract browser and version information""" - browsers = { - "chrome": r"Chrome/(\d+)", - "edge": r"Edg/(\d+)", - "safari": r"Version/(\d+)", - "firefox": r"Firefox/(\d+)", - } - - result = {} - for browser, pattern in browsers.items(): - match = re.search(pattern, user_agent) - if match: - result[browser] = match.group(1) - - return result - - def generate_client_hints(self, user_agent: str) -> str: - """Generate Sec-CH-UA header value based on user agent string""" - browsers = self.parse_user_agent(user_agent) - - # Client hints components - hints = [] - - # Handle different browser combinations - if "chrome" in browsers: - hints.append(f'"Chromium";v="{browsers["chrome"]}"') - hints.append('"Not_A Brand";v="8"') - - if "edge" in browsers: - hints.append(f'"Microsoft Edge";v="{browsers["edge"]}"') - else: - hints.append(f'"Google Chrome";v="{browsers["chrome"]}"') - - elif "firefox" in browsers: - # Firefox doesn't typically send Sec-CH-UA - return '""' - - elif "safari" in browsers: - # Safari's format for client hints - hints.append(f'"Safari";v="{browsers["safari"]}"') - hints.append('"Not_A Brand";v="8"') - - return ", ".join(hints) - - -# Example usage: -if __name__ == "__main__": - - # Usage example: - generator = ValidUAGenerator() - ua = generator.generate() - print(ua) - - generator = OnlineUAGenerator() - ua = generator.generate() - print(ua) - - -``` - diff --git a/docs/md_v2/assets/llmtxt/crawl4ai_all_reasoning_content.llm.txt b/docs/md_v2/assets/llmtxt/crawl4ai_all_reasoning_content.llm.txt deleted file mode 100644 index 850c1237..00000000 --- a/docs/md_v2/assets/llmtxt/crawl4ai_all_reasoning_content.llm.txt +++ /dev/null @@ -1,7708 +0,0 @@ -# Code Concatenation - -Generated on 2025-05-24 - -## File: docs/md_v2/core/browser-crawler-config.md - -```md -# Browser, Crawler & LLM Configuration (Quick Overview) - -Crawl4AI's flexibility stems from two key classes: - -1. **`BrowserConfig`** – Dictates **how** the browser is launched and behaves (e.g., headless or visible, proxy, user agent). -2. **`CrawlerRunConfig`** – Dictates **how** each **crawl** operates (e.g., caching, extraction, timeouts, JavaScript code to run, etc.). -3. **`LLMConfig`** - Dictates **how** LLM providers are configured. (model, api token, base url, temperature etc.) - -In most examples, you create **one** `BrowserConfig` for the entire crawler session, then pass a **fresh** or re-used `CrawlerRunConfig` whenever you call `arun()`. This tutorial shows the most commonly used parameters. If you need advanced or rarely used fields, see the [Configuration Parameters](../api/parameters.md). - ---- - -## 1. BrowserConfig Essentials - -```python -class BrowserConfig: - def __init__( - browser_type="chromium", - headless=True, - proxy_config=None, - viewport_width=1080, - viewport_height=600, - verbose=True, - use_persistent_context=False, - user_data_dir=None, - cookies=None, - headers=None, - user_agent=None, - text_mode=False, - light_mode=False, - extra_args=None, - # ... other advanced parameters omitted here - ): - ... -``` - -### Key Fields to Note - -1. **`browser_type`** -- Options: `"chromium"`, `"firefox"`, or `"webkit"`. -- Defaults to `"chromium"`. -- If you need a different engine, specify it here. - -2. **`headless`** - - `True`: Runs the browser in headless mode (invisible browser). - - `False`: Runs the browser in visible mode, which helps with debugging. - -3. **`proxy_config`** - - A dictionary with fields like: -```json -{ - "server": "http://proxy.example.com:8080", - "username": "...", - "password": "..." -} -``` - - Leave as `None` if a proxy is not required. - -4. **`viewport_width` & `viewport_height`**: - - The initial window size. - - Some sites behave differently with smaller or bigger viewports. - -5. **`verbose`**: - - If `True`, prints extra logs. - - Handy for debugging. - -6. **`use_persistent_context`**: - - If `True`, uses a **persistent** browser profile, storing cookies/local storage across runs. - - Typically also set `user_data_dir` to point to a folder. - -7. **`cookies`** & **`headers`**: - - If you want to start with specific cookies or add universal HTTP headers, set them here. - - E.g. `cookies=[{"name": "session", "value": "abc123", "domain": "example.com"}]`. - -8. **`user_agent`**: - - Custom User-Agent string. If `None`, a default is used. - - You can also set `user_agent_mode="random"` for randomization (if you want to fight bot detection). - -9. **`text_mode`** & **`light_mode`**: - - `text_mode=True` disables images, possibly speeding up text-only crawls. - - `light_mode=True` turns off certain background features for performance. - -10. **`extra_args`**: - - Additional flags for the underlying browser. - - E.g. `["--disable-extensions"]`. - -### Helper Methods - -Both configuration classes provide a `clone()` method to create modified copies: - -```python -# Create a base browser config -base_browser = BrowserConfig( - browser_type="chromium", - headless=True, - text_mode=True -) - -# Create a visible browser config for debugging -debug_browser = base_browser.clone( - headless=False, - verbose=True -) -``` - -**Minimal Example**: - -```python -from crawl4ai import AsyncWebCrawler, BrowserConfig - -browser_conf = BrowserConfig( - browser_type="firefox", - headless=False, - text_mode=True -) - -async with AsyncWebCrawler(config=browser_conf) as crawler: - result = await crawler.arun("https://example.com") - print(result.markdown[:300]) -``` - ---- - -## 2. CrawlerRunConfig Essentials - -```python -class CrawlerRunConfig: - def __init__( - word_count_threshold=200, - extraction_strategy=None, - markdown_generator=None, - cache_mode=None, - js_code=None, - wait_for=None, - screenshot=False, - pdf=False, - capture_mhtml=False, - # Location and Identity Parameters - locale=None, # e.g. "en-US", "fr-FR" - timezone_id=None, # e.g. "America/New_York" - geolocation=None, # GeolocationConfig object - # Resource Management - enable_rate_limiting=False, - rate_limit_config=None, - memory_threshold_percent=70.0, - check_interval=1.0, - max_session_permit=20, - display_mode=None, - verbose=True, - stream=False, # Enable streaming for arun_many() - # ... other advanced parameters omitted - ): - ... -``` - -### Key Fields to Note - -1. **`word_count_threshold`**: - - The minimum word count before a block is considered. - - If your site has lots of short paragraphs or items, you can lower it. - -2. **`extraction_strategy`**: - - Where you plug in JSON-based extraction (CSS, LLM, etc.). - - If `None`, no structured extraction is done (only raw/cleaned HTML + markdown). - -3. **`markdown_generator`**: - - E.g., `DefaultMarkdownGenerator(...)`, controlling how HTML→Markdown conversion is done. - - If `None`, a default approach is used. - -4. **`cache_mode`**: - - Controls caching behavior (`ENABLED`, `BYPASS`, `DISABLED`, etc.). - - If `None`, defaults to some level of caching or you can specify `CacheMode.ENABLED`. - -5. **`js_code`**: - - A string or list of JS strings to execute. - - Great for "Load More" buttons or user interactions. - -6. **`wait_for`**: - - A CSS or JS expression to wait for before extracting content. - - Common usage: `wait_for="css:.main-loaded"` or `wait_for="js:() => window.loaded === true"`. - -7. **`screenshot`**, **`pdf`**, & **`capture_mhtml`**: - - If `True`, captures a screenshot, PDF, or MHTML snapshot after the page is fully loaded. - - The results go to `result.screenshot` (base64), `result.pdf` (bytes), or `result.mhtml` (string). - -8. **Location Parameters**: - - **`locale`**: Browser's locale (e.g., `"en-US"`, `"fr-FR"`) for language preferences - - **`timezone_id`**: Browser's timezone (e.g., `"America/New_York"`, `"Europe/Paris"`) - - **`geolocation`**: GPS coordinates via `GeolocationConfig(latitude=48.8566, longitude=2.3522)` - - See [Identity Based Crawling](../advanced/identity-based-crawling.md#7-locale-timezone-and-geolocation-control) - -9. **`verbose`**: - - Logs additional runtime details. - - Overlaps with the browser's verbosity if also set to `True` in `BrowserConfig`. - -10. **`enable_rate_limiting`**: - - If `True`, enables rate limiting for batch processing. - - Requires `rate_limit_config` to be set. - -11. **`memory_threshold_percent`**: - - The memory threshold (as a percentage) to monitor. - - If exceeded, the crawler will pause or slow down. - -12. **`check_interval`**: - - The interval (in seconds) to check system resources. - - Affects how often memory and CPU usage are monitored. - -13. **`max_session_permit`**: - - The maximum number of concurrent crawl sessions. - - Helps prevent overwhelming the system. - -14. **`display_mode`**: - - The display mode for progress information (`DETAILED`, `BRIEF`, etc.). - - Affects how much information is printed during the crawl. - - -### Helper Methods - -The `clone()` method is particularly useful for creating variations of your crawler configuration: - -```python -# Create a base configuration -base_config = CrawlerRunConfig( - cache_mode=CacheMode.ENABLED, - word_count_threshold=200, - wait_until="networkidle" -) - -# Create variations for different use cases -stream_config = base_config.clone( - stream=True, # Enable streaming mode - cache_mode=CacheMode.BYPASS -) - -debug_config = base_config.clone( - page_timeout=120000, # Longer timeout for debugging - verbose=True -) -``` - -The `clone()` method: -- Creates a new instance with all the same settings -- Updates only the specified parameters -- Leaves the original configuration unchanged -- Perfect for creating variations without repeating all parameters - ---- - - -## 3. LLMConfig Essentials - -### Key fields to note - -1. **`provider`**: -- Which LLM provoder to use. -- Possible values are `"ollama/llama3","groq/llama3-70b-8192","groq/llama3-8b-8192", "openai/gpt-4o-mini" ,"openai/gpt-4o","openai/o1-mini","openai/o1-preview","openai/o3-mini","openai/o3-mini-high","anthropic/claude-3-haiku-20240307","anthropic/claude-3-opus-20240229","anthropic/claude-3-sonnet-20240229","anthropic/claude-3-5-sonnet-20240620","gemini/gemini-pro","gemini/gemini-1.5-pro","gemini/gemini-2.0-flash","gemini/gemini-2.0-flash-exp","gemini/gemini-2.0-flash-lite-preview-02-05","deepseek/deepseek-chat"`
*(default: `"openai/gpt-4o-mini"`)* - -2. **`api_token`**: - - Optional. When not provided explicitly, api_token will be read from environment variables based on provider. For example: If a gemini model is passed as provider then,`"GEMINI_API_KEY"` will be read from environment variables - - API token of LLM provider
eg: `api_token = "gsk_1ClHGGJ7Lpn4WGybR7vNWGdyb3FY7zXEw3SCiy0BAVM9lL8CQv"` - - Environment variable - use with prefix "env:"
eg:`api_token = "env: GROQ_API_KEY"` - -3. **`base_url`**: - - If your provider has a custom endpoint - -```python -llm_config = LLMConfig(provider="openai/gpt-4o-mini", api_token=os.getenv("OPENAI_API_KEY")) -``` - -## 4. Putting It All Together - -In a typical scenario, you define **one** `BrowserConfig` for your crawler session, then create **one or more** `CrawlerRunConfig` & `LLMConfig` depending on each call's needs: - -```python -import asyncio -from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode, LLMConfig -from crawl4ai.extraction_strategy import JsonCssExtractionStrategy - -async def main(): - # 1) Browser config: headless, bigger viewport, no proxy - browser_conf = BrowserConfig( - headless=True, - viewport_width=1280, - viewport_height=720 - ) - - # 2) Example extraction strategy - schema = { - "name": "Articles", - "baseSelector": "div.article", - "fields": [ - {"name": "title", "selector": "h2", "type": "text"}, - {"name": "link", "selector": "a", "type": "attribute", "attribute": "href"} - ] - } - extraction = JsonCssExtractionStrategy(schema) - - # 3) Example LLM content filtering - - gemini_config = LLMConfig( - provider="gemini/gemini-1.5-pro" - api_token = "env:GEMINI_API_TOKEN" - ) - - # Initialize LLM filter with specific instruction - filter = LLMContentFilter( - llm_config=gemini_config, # or your preferred provider - instruction=""" - Focus on extracting the core educational content. - Include: - - Key concepts and explanations - - Important code examples - - Essential technical details - Exclude: - - Navigation elements - - Sidebars - - Footer content - Format the output as clean markdown with proper code blocks and headers. - """, - chunk_token_threshold=500, # Adjust based on your needs - verbose=True - ) - - md_generator = DefaultMarkdownGenerator( - content_filter=filter, - options={"ignore_links": True} - - # 4) Crawler run config: skip cache, use extraction - run_conf = CrawlerRunConfig( - markdown_generator=md_generator, - extraction_strategy=extraction, - cache_mode=CacheMode.BYPASS, - ) - - async with AsyncWebCrawler(config=browser_conf) as crawler: - # 4) Execute the crawl - result = await crawler.arun(url="https://example.com/news", config=run_conf) - - if result.success: - print("Extracted content:", result.extracted_content) - else: - print("Error:", result.error_message) - -if __name__ == "__main__": - asyncio.run(main()) -``` - ---- - -## 5. Next Steps - -For a **detailed list** of available parameters (including advanced ones), see: - -- [BrowserConfig, CrawlerRunConfig & LLMConfig Reference](../api/parameters.md) - -You can explore topics like: - -- **Custom Hooks & Auth** (Inject JavaScript or handle login forms). -- **Session Management** (Re-use pages, preserve state across multiple calls). -- **Magic Mode** or **Identity-based Crawling** (Fight bot detection by simulating user behavior). -- **Advanced Caching** (Fine-tune read/write cache modes). - ---- - -## 6. Conclusion - -**BrowserConfig**, **CrawlerRunConfig** and **LLMConfig** give you straightforward ways to define: - -- **Which** browser to launch, how it should run, and any proxy or user agent needs. -- **How** each crawl should behave—caching, timeouts, JavaScript code, extraction strategies, etc. -- **Which** LLM provider to use, api token, temperature and base url for custom endpoints - -Use them together for **clear, maintainable** code, and when you need more specialized behavior, check out the advanced parameters in the [reference docs](../api/parameters.md). Happy crawling! -``` - - -## File: docs/md_v2/core/cache-modes.md - -```md -# Crawl4AI Cache System and Migration Guide - -## Overview -Starting from version 0.5.0, Crawl4AI introduces a new caching system that replaces the old boolean flags with a more intuitive `CacheMode` enum. This change simplifies cache control and makes the behavior more predictable. - -## Old vs New Approach - -### Old Way (Deprecated) -The old system used multiple boolean flags: -- `bypass_cache`: Skip cache entirely -- `disable_cache`: Disable all caching -- `no_cache_read`: Don't read from cache -- `no_cache_write`: Don't write to cache - -### New Way (Recommended) -The new system uses a single `CacheMode` enum: -- `CacheMode.ENABLED`: Normal caching (read/write) -- `CacheMode.DISABLED`: No caching at all -- `CacheMode.READ_ONLY`: Only read from cache -- `CacheMode.WRITE_ONLY`: Only write to cache -- `CacheMode.BYPASS`: Skip cache for this operation - -## Migration Example - -### Old Code (Deprecated) -```python -import asyncio -from crawl4ai import AsyncWebCrawler - -async def use_proxy(): - async with AsyncWebCrawler(verbose=True) as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business", - bypass_cache=True # Old way - ) - print(len(result.markdown)) - -async def main(): - await use_proxy() - -if __name__ == "__main__": - asyncio.run(main()) -``` - -### New Code (Recommended) -```python -import asyncio -from crawl4ai import AsyncWebCrawler, CacheMode -from crawl4ai.async_configs import CrawlerRunConfig - -async def use_proxy(): - # Use CacheMode in CrawlerRunConfig - config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS) - async with AsyncWebCrawler(verbose=True) as crawler: - result = await crawler.arun( - url="https://www.nbcnews.com/business", - config=config # Pass the configuration object - ) - print(len(result.markdown)) - -async def main(): - await use_proxy() - -if __name__ == "__main__": - asyncio.run(main()) -``` - -## Common Migration Patterns - -| Old Flag | New Mode | -|-----------------------|---------------------------------| -| `bypass_cache=True` | `cache_mode=CacheMode.BYPASS` | -| `disable_cache=True` | `cache_mode=CacheMode.DISABLED`| -| `no_cache_read=True` | `cache_mode=CacheMode.WRITE_ONLY` | -| `no_cache_write=True` | `cache_mode=CacheMode.READ_ONLY` | -``` - - -## File: docs/md_v2/core/content-selection.md - -```md -# Content Selection - -Crawl4AI provides multiple ways to **select**, **filter**, and **refine** the content from your crawls. Whether you need to target a specific CSS region, exclude entire tags, filter out external links, or remove certain domains and images, **`CrawlerRunConfig`** offers a wide range of parameters. - -Below, we show how to configure these parameters and combine them for precise control. - ---- - -## 1. CSS-Based Selection - -There are two ways to select content from a page: using `css_selector` or the more flexible `target_elements`. - -### 1.1 Using `css_selector` - -A straightforward way to **limit** your crawl results to a certain region of the page is **`css_selector`** in **`CrawlerRunConfig`**: - -```python -import asyncio -from crawl4ai import AsyncWebCrawler, CrawlerRunConfig - -async def main(): - config = CrawlerRunConfig( - # e.g., first 30 items from Hacker News - css_selector=".athing:nth-child(-n+30)" - ) - async with AsyncWebCrawler() as crawler: - result = await crawler.arun( - url="https://news.ycombinator.com/newest", - config=config - ) - print("Partial HTML length:", len(result.cleaned_html)) - -if __name__ == "__main__": - asyncio.run(main()) -``` - -**Result**: Only elements matching that selector remain in `result.cleaned_html`. - -### 1.2 Using `target_elements` - -The `target_elements` parameter provides more flexibility by allowing you to target **multiple elements** for content extraction while preserving the entire page context for other features: - -```python -import asyncio -from crawl4ai import AsyncWebCrawler, CrawlerRunConfig - -async def main(): - config = CrawlerRunConfig( - # Target article body and sidebar, but not other content - target_elements=["article.main-content", "aside.sidebar"] - ) - async with AsyncWebCrawler() as crawler: - result = await crawler.arun( - url="https://example.com/blog-post", - config=config - ) - print("Markdown focused on target elements") - print("Links from entire page still available:", len(result.links.get("internal", []))) - -if __name__ == "__main__": - asyncio.run(main()) -``` - -**Key difference**: With `target_elements`, the markdown generation and structural data extraction focus on those elements, but other page elements (like links, images, and tables) are still extracted from the entire page. This gives you fine-grained control over what appears in your markdown content while preserving full page context for link analysis and media collection. - ---- - -## 2. Content Filtering & Exclusions - -### 2.1 Basic Overview - -```python -config = CrawlerRunConfig( - # Content thresholds - word_count_threshold=10, # Minimum words per block - - # Tag exclusions - excluded_tags=['form', 'header', 'footer', 'nav'], - - # Link filtering - exclude_external_links=True, - exclude_social_media_links=True, - # Block entire domains - exclude_domains=["adtrackers.com", "spammynews.org"], - exclude_social_media_domains=["facebook.com", "twitter.com"], - - # Media filtering - exclude_external_images=True -) -``` - -**Explanation**: - -- **`word_count_threshold`**: Ignores text blocks under X words. Helps skip trivial blocks like short nav or disclaimers. -- **`excluded_tags`**: Removes entire tags (``, `
`, `